Есть папка designe, в ней еще несколько папок: one, two, free и в каждой из них шаблон для сайта. $conf['design'] = one;
Шаблон я подключаю так: include ("designe/$conf['design']/index.php"); Однако, так не работает!!!
А вот так работает: include ("designe/one/index.php"); но мне так не надо. Мне нужно чтобы данные для подключениия дизайна читались из $conf['design']. Как это сделать?
2-ой вопрос:
В чем отличия require от include?
Спустя 8 минут, 6 секунд (20.12.2010 - 09:18) Elfist написал(а):
2-ой вопрос:
В чем отличия require от include?
Конструкция require включает файлы перед тем, как скрипт начинает свое выполнение, то есть сначала полностью из кусочков собирается весь скрипт, а затем полностью выполняется.
Include в отличии от require включает файлы по мере выполнении скрипта. То есть сценарий выполняется пошагово и дойдя до include переключается на выполнение включаемого файла.
Include применять там, где требуется динамическое включение файлов, а require там, где этого не требуется.
В чем отличия require от include?
Конструкция require включает файлы перед тем, как скрипт начинает свое выполнение, то есть сначала полностью из кусочков собирается весь скрипт, а затем полностью выполняется.
Include в отличии от require включает файлы по мере выполнении скрипта. То есть сценарий выполняется пошагово и дойдя до include переключается на выполнение включаемого файла.
Include применять там, где требуется динамическое включение файлов, а require там, где этого не требуется.
Спустя 6 минут, 28 секунд (20.12.2010 - 09:25) Basili4 написал(а):
Elfist
читайте php.net
это
читайте php.net
это
Цитата (Elfist @ 20.12.2010 - 10:18) |
Конструкция require включает файлы перед тем, как скрипт начинает свое выполнение, то есть сначала полностью из кусочков собирается весь скрипт, а затем полностью выполняется. Include в отличии от require включает файлы по мере выполнении скрипта. То есть сценарий выполняется пошагово и дойдя до include переключается на выполнение включаемого файла. Include применять там, где требуется динамическое включение файлов, а require там, где этого не требуется. |
уже старо
От себя отличия только в обработки ошибок include если не находит файл выдает нотис и продолжает require останавливает работу скрипта.
Спустя 1 час, 49 минут, 15 секунд (20.12.2010 - 11:14) linker написал(а):
include("designe/" . $conf['design'] . "/index.php");
Спустя 9 минут, 29 секунд (20.12.2010 - 11:24) twin написал(а):
Basili4
Цитата |
Конструкция require включает файлы перед тем, как скрипт начинает свое выполнение, то есть сначала полностью из кусочков собирается весь скрипт, а затем полностью выполняется. |
Не может быть, что в мануале написана такая чушь...
Спустя 35 минут, 3 секунды (20.12.2010 - 11:59) Basili4 написал(а):
twin
это не моя цитата
это не моя цитата
Спустя 1 минута, 7 секунд (20.12.2010 - 12:00) Basili4 написал(а):
моя эта
Цитата (Basili4 @ 20.12.2010 - 10:25) |
уже старо |
Спустя 4 минуты, 24 секунды (20.12.2010 - 12:04) kovaldm написал(а):
php.su
Цитата |
PHP преобразует сценарий во внутреннее представление, анализируя строки сценария по очереди, пока не доходит до конструкции include. Дойдя до include, PHP прекращает транслировать сценарий и переключается на указанный в include файл. Таким образом из-за подобного поведения транслятора, быстродействие сценария снижается, особенно при большом колличестве включаемых с помощью include файлов. С require таких проблем нет, поскольку файлы с помощью require включаются до выполнения сценария, то есть на момент трансляции файл уже включен в сценарий. Таким образом, целесообразнее использовать конструкцию require там, где не требуется динамическое включение файлов в сценарий, а конструкцию include использовать только с целью динамического включения файлов в код PHP скрипта. |
Спустя 1 минута, 41 секунда (20.12.2010 - 12:06) Basili4 написал(а):
kovaldm
сам проверял
if (false)
require('file.php');
не подключает.
сам проверял
if (false)
require('file.php');
не подключает.
Спустя 10 минут, 10 секунд (20.12.2010 - 12:16) kovaldm написал(а):
Как проверял-то? Он наверно подключает, но не выполняет код который в file.php
Спустя 2 минуты, 16 секунд (20.12.2010 - 12:18) sergeiss написал(а):
Цитата (Basili4 @ 20.12.2010 - 13:06) |
сам проверял if (false) require('file.php'); |
А я вот задумался - как ты проверл, что он не подключен?
Вообще, в хэлпе сказано, что
Цитата |
require() is identical to include() except upon failure it will also produce a fatal E_ERROR level error. In other words, it will halt the script whereas include() only emits a warning (E_WARNING) which allows the script to continue. See the include() documentation for how this works. |
И ни слова не сказано про то, что, якобы, сначала подключается, а потом обрабатывает. Более того, прямо сказано, что они идентичные, с одним только исключением.
Спустя 1 минута (20.12.2010 - 12:19) twin написал(а):
kovaldm
Кто то один очень давно написал эту дурь, а все копипастят с тех пор.
require точто так же как и include работают в циле, что было бы совершенно невозможно, если бы это было бы правдой.
Кто то один очень давно написал эту дурь, а все копипастят с тех пор.
require точто так же как и include работают в циле, что было бы совершенно невозможно, если бы это было бы правдой.
Спустя 2 минуты, 13 секунд (20.12.2010 - 12:21) Basili4 написал(а):
sergeiss
содержимое file.php
echo __FILE__;
соответственно если не подключен то строки не будет если подключен то будет.
Или Я ошибаюсь
содержимое file.php
echo __FILE__;
соответственно если не подключен то строки не будет если подключен то будет.
Или Я ошибаюсь
Спустя 57 секунд (20.12.2010 - 12:22) kovaldm написал(а):
Так чтож различие только в том что require отсановит скрипт, include нет?
Спустя 15 секунд (20.12.2010 - 12:23) Basili4 написал(а):
sergeiss
вот и я говорю читать надо php.net а всякие там SU ни разу не пруф.
вот и я говорю читать надо php.net а всякие там SU ни разу не пруф.
Спустя 3 минуты, 31 секунда (20.12.2010 - 12:26) sergeiss написал(а):
Цитата (Basili4 @ 20.12.2010 - 13:21) |
Или Я ошибаюсь |
У тебя ошибка в методике проверки :)
Твоя метода проверки аналогична такой: :) :) :)
if( false )
echo 'Вы тут не находитесь';
Данный код бессмысленный, вот в чем проблема. Аналогично и с инклудом после ТАКОГО ифа.
Спустя 1 минута, 33 секунды (20.12.2010 - 12:28) Basili4 написал(а):
sergeiss
я бы сказал вот так
if( false )
echo 'Вас тут не должно быть';
я бы сказал вот так
if( false )
echo 'Вас тут не должно быть';