В PHP большие файлы сценариев можно разделять на части (модули) и включать один файл в состав другого файла.
Команда require
require «имя_файла«;
Команда require (затребовать) позволяет вставить содержимое файла в сценарий до выполнения этого сценария.
Пример
Сценарий, в который включается код из файла const.php:
","Выводим значения констант, включаемых из файла const.php",""; require "const.php"; //затребованный фаил ehcho "","В файле const.php определены:","
"; ehcho "
","Константа pi = ", pi, "
"; ehcho "
","Константа e = ", e, "
"; ?>
Содержимое файла const.php:
Внимание. Если мы включаем некоторый файл, необходимо убедиться, что до и после тегов и ?> этого файла (здесь const.php) нет пробельных символов и пустых строк.
Интерпретатор PHP просто заменяет require содержимым указанного файла. Вставка содержимого файла происходит до выполнения сценария.
Результат отображается в браузере:
Какие файлы мы можем включать? Это может быть HTML-файл или сценарий на языке PHP. В последнем случае содержимое файла необходимо поместить между тегами , как и для обычного сценария.
Команду require удобно использовать для включения в динамические страницы фрагментов, которые не изменяются, например, верхние и нижние колонтитулы страниц сайта.
Файл header.html:
Сценарий:
Команда include
include «имя_файла«;
В отличие от require, команда include (включить) позволяет вставить код в сценарий во время выполнения сценария.
Возможно нам динамически нужно менять заголовок в зависимости от ситуации, например:
Эта команда часто используется внутри циклов, например:
$files = array ("first.inc", "second.inc", "third.inc"); for ($i = 0; $i < count($files); $i++) { include($files[$i]); }
Замечание. Фигурные скобки в этих случаях обязательны.
Команды include_once и require_once
Предположим, что у нас есть сценарий main.php, в который включены файлы header.php, code.php и footer.php. В файл code.php также включается несколько файлов. В одном из этих файлов также находится команда require «header.php»; Получается, что файл header.php включен дважды. Двойное включение может стать причиной ошибки, которую трудно найти.
Используя команды однократного включения include_once и require_once, мы можем быть уверены, что ни один файл не будет включён дважды.