PHP для начинающих: Подключение файлов (Урок 18)

Изучим подключение сторонних файлов — важный навык для создания динамических сайтов. Понимание этого принципа значительно упрощает разработку и поддержку веб-приложений.

Зачем подключать файлы?

Представьте сайт с тысячей страниц: статей, профилей пользователей и т.д. Допустим, название сайта — «Автомобили и всё, что с ними связано», и оно отображается в шапке каждой страницы. Если через год вы захотите изменить название на «Автомобиль», придётся вручную изменить его на каждой из тысячи страниц. Это трудоёмко и неэффективно.

Подключение сторонних файлов решает эту проблему. Вы создаёте отдельный файл (например, с шапкой сайта), а затем подключаете его ко всем страницам. Теперь, чтобы изменить шапку, достаточно изменить один файл — изменения автоматически отобразятся на всех страницах, которые его используют.

Создание файлов header.php и footer.php

Создадим три файла: header.php, footer.php и основной файл (index.php). В header.php разместим код шапки, в footer.php — код подвала. Хотя файлы содержат HTML, рекомендуется использовать расширение .php, поскольку это позволит в будущем использовать PHP-код внутри них.

header.php:

<!DOCTYPE html>
<html>
<head>
  <title>Заголовок</title>
</head>
<body>
  <!-- Здесь будет наша шапка -->
</body>
</html>

footer.php:

</body>
</html>

Функции подключения файлов: require, include, require_once и include_once

PHP предоставляет четыре функции для подключения файлов: require, require_once, include и include_once.

require

Функция require подключает указанный файл. Путь к файлу указывается так же, как и при подключении стилей или скриптов. Если файл не найден, require выдаёт ошибку и прекращает выполнение скрипта.

Пример использования в index.php:

<?php
require 'header.php';
?>

<h1>Тело документа</h1>

<?php
require 'footer.php';
?>

include

Функция include также подключает указанный файл, но, в отличие от require, при отсутствии файла выдаёт предупреждение, а выполнение скрипта продолжается.

require_once и include_once

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

Взаимодействие с переменными

Подключенный файл становится частью основного документа и может взаимодействовать с его переменными. Например, можно передать заголовок страницы как переменную:

header.php (модифицированный):

<!DOCTYPE html>
<html>
<head>
  <title><?php echo $title; ?></title>
</head>
<body>
  <!-- Здесь будет наша шапка -->
</body>
</html>

index.php (модифицированный):

<?php
$title = 'Главная страница';
require 'header.php';
?>

<h1>Тело документа</h1>

<?php
require 'footer.php';
?>

В этом примере переменная $title передаётся в header.php, и её значение отображается в заголовке страницы.

Пример с несколькими страницами

Создадим файл about.php:

<?php
$title = 'О нас';
require 'header.php';
?>

<h1>О нас</h1>

<?php
require 'footer.php';
?>

Теперь на страницах index.php и about.php используется один и тот же header.php, но с разными значениями переменной $title.

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

Что будем искать? Например,программа