Библиотека программиста

20.10.2021 - Разница различие между include(), include_once(), require(), require_once()

Вкратце обьясню разницу между этими функциями

include_once ("path") - функция включения дополнительного файла включаеться только один раз, те если есть необходимость включения файла в которомидет определение функций, класов или переменных и есть необходимость что бы они не переопределялись, то нужно использовать include_once().

PHP - Код
//файл inc.php который подключаем
$var=1;



PHP - Код
//файл test.php который вызывает include
for($i=0;$i<2;$i++){
include_once(
"inc.php");
echo 
"Переменная - ".$var."<BR>";
$var++;//Увеличиваем переменную на 1
}

//Выведет Переменная - 1 Переменная - 2


include() - функция не проверяет был ли уже включен файл или нет, а подключает его снова. Т.е если в файле были инициализированны переменные, то они переопределяться.


PHP - Код
//файл inc.php который подключаем
$var=1;


PHP - Код

//файл test.php который вызывает include
for($i=0;$i<2;$i++){
include (
"inc.php");
echo 
"Переменная - ".$var."<BR>";
$var++;//Увеличиваем переменную на 1
}

//Выведет Переменная - 1 Переменная - 1



require() - функция аналогичная include(), но если вызываемогофайла нет(например файла inc.php нет или мы укажем неверный путь) то require() остановит выполнение скрипта, а при include() выполнение продолжиться.


PHP - Код
//файл test.php который вызывает include
for($i=0;$i<2;$i++){
include (
"!inc.php");
echo 
"Переменная - ".$var."<BR>";
$var++;//Увеличиваем переменную на 1
}

//Выведет Переменная -  Переменная - 1

//файл test.php который вызывает include
for($i=0;$i<2;$i++){
include (
"!inc.php");
echo 
"Переменная - ".$var."<BR>";
$var++;//Увеличиваем переменную на 1
}

//Прекратит вывод на возникновении первой ошибки включения




require_once() - функция аналогичная include_once(), но с замечаниями как и для recquire().

Вот вкратце все отличия этих функций, какими из них пользоваться - решать вам.
Опубликовано на сайте: http://www.coders-library.ru
Прямая ссылка: http://www.coders-library.ru/index.php?name=news&op=view&id=307