Вы находитесь на странице: 1из 2

Лекции курса PHP7 + MySQL с нуля

(краткое содержание)

ЛЕКЦИЯ 19. ИНСТРУКЦИИ REQUIRE И INCLUDE. ОСОБЕННОСТИ


ИНСТРУКЦИЙ ОДНОКРАТНОГО ВКЛЮЧЕНИЯ

Инструкции require и include


При разработке программ очень полезно разделять код на отдельные части,
несущие собственную смысловую нагрузку – это упрощает чтение кода и работу с
ним. Кроме того, при анализе кода не приходится разбираться в большом
количестве строк. Таким образом, если разбить код на составляющие, разместить
его в отдельных файлах и, затем, по мере надобности подключать в различных
частях, то можно существенно улучшить код, а также упростить себе задачи.
Для включения в текст скрипта файла, содержащего какой-либо код или иную
информацию, используются инструкции require и include. Их синтаксис следующий:
require “file_path/file_name”;
и
include “file_path/file_name”;
Различие между данными инструкциями в том, что при использовании require,
интерпретатор выдаст ошибку в случае отсутствия необходимого файла по
указанному пути, в случае же include – пойдет выполнять работу дальше, сохранив
в логах предупреждение об отсутствии нужного файла.
Данные инструкции очень полезны при разработке веб-приложений и
позволяют создавать красивые интерактивные проекты.
Рассмотрим простой способ использования инструкции require в теле PHP-
документа:
Листинг 19.1. Применение инструкции require

Создадим файл Listing_19.1_head.html, который будет содержать заголовок


html-документа.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Listing_19.1</title>
</head>
<body>
<h1>Это заголовок страницы</h1>
<a href="">ссылка №1</a>
<a href="">ссылка №2</a>
<a href="">ссылка №3</a>
<a href="">ссылка №4</a>

Далее, создадим файл Listing_19.1_footer.html, который будет содержать


«подвал» html-документа.
<h2>Это футер страницы</h2>
<p>И дополнительная информация в нем</p>
</body>
</html>

Теперь создадим php-скрипт Listing_19.1.php, который будет подключать в


себя эти файлы.

1
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)

<?php
require "Listing_19.1_head.html";
echo "<p>";
print_r($_SERVER);
echo "</p>";
require "Listing_19.1_footer.html";
?>

Таким образом, мы получаем возможность работать с html-разметкой и php-


скриптами в отдельных документах и затем объединять их. Возможности require и
include заметно шире, чем представленные в листинге 19.1. и далее, при изучении
курса Вы поймете, как их использовать не только для подключения html-
документов.

Особенности инструкций однократного включения или почему require_once и


include_once лучше их аналогов require и include.
В больших сценариях, описывающих работу крупных веб-приложений, в том
числе и CMS количество инструкций require и include может перевалить за
несколько десятков. При этом подобные инструкции могут встречаться как в
основных скриптах, так и в подключаемых. В этой ситуации становится сложно
разобраться, какой скрипт уже подключен, а какой – нет.
Если же разработчик в какой-то момент подключить повторно один и тот же
файл, то в результате получит сообщение об ошибке инициализации переменных,
функций и др.
Решить эту проблему можно, используя инструкции однократного включения
require_once и include_once. Их отличие заключается в следующем – при проверке
данной инструкции интерпретатор проверяет, был ли подключен данный файл
ранее. Если не был – файл подключается, если же файл задействован в других,
более ранних частях программы, то просто пропускает эту инструкцию и действует
далее.
В остальном суть этих инструкций та же, что и у их аналогов. Синтаксис
аналогичен.