В PHP большие файлы сценариев можно разделять на части (модули) и включать один файл в состав другого файла.
Команда require
require «имя_файла«;
Команда require (затребовать) позволяет вставить содержимое файла в сценарий до выполнения этого сценария.
Пример
Сценарий, в который включается код из файла const.php:
<?php
ehcho "<h3>","Выводим значения констант, включаемых из файла const.php","</h3>";
require "const.php"; //затребованный фаил
ehcho "<p>","В файле const.php определены:","<p>";
ehcho "<p>","Константа pi = ", pi, "<p>";
ehcho "<p>","Константа e = ", e, "<p>";
?>
Внимание. Если мы включаем некоторый файл, необходимо убедиться, что до и после тегов <?php и ?> этого файла (здесь const.php) нет пробельных символов и пустых строк.
Интерпретатор PHP просто заменяет require содержимым указанного файла. Вставка содержимого файла происходит до выполнения сценария.
Результат отображается в браузере:
Какие файлы мы можем включать? Это может быть HTML-файл или сценарий на языке PHP. В последнем случае содержимое файла необходимо поместить между тегами <?php и ?>, как и для обычного сценария.
Команду require удобно использовать для включения в динамические страницы фрагментов, которые не изменяются, например, верхние и нижние колонтитулы страниц сайта.
Команда 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, мы можем быть уверены, что ни один файл не будет включён дважды.