flexbe banner 468x60flexbe banner 728x90flexbe banner 930x180kwork banner 468x60kwork banner 728x90kwork banner 930x180beget banner 468x60beget banner 728x90beget banner 930x180

Руководство по операторам include() и require() в PHP

Операторы include() и require() позволяют включать код, содержащийся в файле PHP в другой файл PHP. Включение файла дает тот же результат, что и копирование скрипта из указанного файла и вставка в место, где он был вызван.

Эти функции помогут вам сэкономить много времени — просто сохраните блок кода в отдельном файле и подключите его куда угодно, используя операторы include() и require() вместо того, чтобы набирать весь блок кода несколько раз. Типичный пример — подключение файлов header, footer и menu на все страницы веб-сайта.

Базовый синтаксис операторов include() и require() может быть задан следующим образом:

include("path/to/filename"); -Or- include "path/to/filename";
require("path/to/filename"); -Or- require "path/to/filename";

Как и операторы print и echo, вы можете опустить круглые скобки при использовании операторов include и require, как показано выше.

В следующем примере показано, как подключить отдельные файлы header.php, footer.php и menu.php на всех страницах вашего веб-сайта. Используя этот метод, вы можете обновлять все страницы веб-сайта сразу, внося изменения только в один файл, что избавляет от множества повторяющихся действий.

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Zolin Digital</title>
</head>
<body>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Добро пожаловать на наш сайт!</h1>
    <p>Здесь вы найдете много полезной информации.</p>
<?php include "footer.php"; ?>
</body>
</html>

Разница между операторами include() и require()

Вы можете подумать: если мы можем включать файлы с помощью оператора include(), тогда зачем нам require(). Обычно оператор require() работает как include().

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

<?php require "my_variables.php"; ?>
<?php require "my_functions.php"; ?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title><?php displayTitle($home_page); ?></title>
</head>
<body>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Добро пожаловать на наш сайт!</h1>
    <p>Здесь вы найдете много полезной информации.</p>
<?php include "footer.php"; ?>
</body>
</html>

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

Операторы include_once и require_once

Если вы случайно включите один и тот же файл (обычно файлы функций или классов) в код более одного раза с помощью операторов include и require, это может вызвать конфликты. Чтобы предотвратить эту ситуацию, PHP предоставляет операторы include_once и require_once. Эти операторы ведут себя так же, как операторы include и require, за одним исключением.

Операторы include_once и require_once будут включать файл только один раз, даже если будет предложено включить его второй раз, т.е. если указанный файл уже был включен в предыдущий оператор, файл не включается снова. Чтобы лучше понять, как это работает, давайте рассмотрим пример. Предположим, у нас есть файл my_functions.php со следующим кодом:

<?php
function multiplySelf($var) {
    $var *= $var; // умножаем переменную на саму себя
    echo $var;
}
?>

Вот PHP-скрипт, в который мы включили файл my_functions.php.

<?php
// Подключаем файл через require
require "my_functions.php";
// Вызываем функцию
multiplySelf(2); // Выводит: 4
echo "<br>";

// Подключаем файл через require
require "my_functions.php";
// Вызываем функцию
multiplySelf(5); // Функция не выполняется
?>

Когда вы запустите приведенный выше скрипт, вы увидите сообщение об ошибке примерно такого рода: «Fatal error: Cannot redeclare multiplySelf(). Это происходит из-за того, что my_functions.php подключен дважды и функция multiplySelf() определяется дважды, что заставило PHP остановить выполнение скрипта и сгенерировать фатальную ошибку. Теперь перепишем приведенный выше пример с помощью require_once.

<?php
// Подключаем файл через require_once
require_once "my_functions.php";
// Вызываем функцию
multiplySelf(2); // Выводит: 4
echo "<br>";

// Подключаем файл через require_once
require_once "my_functions.php";
// Вызываем функцию
multiplySelf(5); // Выводит: 25
?>

Как видите, при использовании require_once вместо require скрипт работает так, как мы того ожидаем.

skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600kwork banner 480x320kwork banner 728x90kwork banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 4.8 / 5. Количество оценок: 4

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по загрузке файлов на сервер в PHP

В этом руководстве мы узнаем, как загружать файлы на удаленный сервер с помощью простой HTML-формы и PHP. Вы можете загружать файлы любого типа, например изображения, видео, ZIP-файлы, документы Microsoft Office, PDF-файлы, а также исполняемые файлы и множество других типов файлов. Шаг 1. Создание HTML-формы для загрузки файла В следующем примере будет создана простая HTML-форма, которую…
Подробнее

Руководство по GET и POST запросам в PHP

Веб-браузер связывается с сервером, как правило, с помощью одного из двух HTTP-методов (протокола передачи гипертекста) — GET и POST. Оба метода передают информацию по-разному и имеют разные преимущества и недостатки, как описано ниже. PHP-метод GET В методе GET данные отправляются в виде параметров URL, которые обычно представляют собой строки пар имени и значения, разделенные амперсандами…
Подробнее

Список сообщений об ошибках в PHP

Обычно, когда движок PHP сталкивается с проблемой, препятствующей правильной работе скрипта, он генерирует сообщение об ошибке. Существует шестнадцать различных уровней ошибок, и каждый уровень представлен целым числом и связанной с ним константой. Вот список уровней ошибок: Название Значение Описание E_ERROR 1 Неустранимая ошибка времени выполнения от которой невозможно избавиться. Выполнение скрипта немедленно прекращается E_WARNING 2…
Подробнее