Код
#подборки

4 способа, как подключить PHP-файл к программе

Изучаем PHP со Skillbox. Сегодня расскажем, как расширить код с помощью подключения внешних скриптов и какой из вариантов лучше выбрать.

 vlada_maestro / shutterstock

Для чего нужно подключать файлы

Вначале разберемся, зачем это надо. Писать весь код в одном скрипте невозможно, непрактично и попросту странно: он разрастется до гигантских размеров и станет неудобным. Придется тратить много времени на его доработку и изменение.

PHP дает возможность дополнять программу новыми скриптами, фактически внешними кусками кода. Мы можем разложить все модули программы в разные папки, структурировать их и применять по необходимости.

Какие файлы можно подключать

Рекомендуем использовать файлы с расширением .php. Во время выполнения php-скрипта происходит следующее:

  1. В начале указанного файла прекращается парсинг в режиме PHP-кода.
  2. Он переключается в режим HTML.
  3. И продолжается снова в PHP, когда скрипт закончит работу.

Поэтому код внутри сценария, который нужно выполнить как PHP, мы оборачиваем корректными тегами начала и конца PHP-кода.

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

 4 способа, как подключить PHP-файл

Присоединить его можно четырьмя способами:

  1. include;
  2. require;
  3. include_once;
  4. require_once.

Все это — особые языковые конструкции PHP для расширения его частей. Расскажем подробнее о каждой: какова разница между ними и в каких условиях использовать.

Инструкция include

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

Команда include используется для файлов, важность которых некритична. Мы запишем в историю, что один не подключился — «обратите внимание». Но работа программы продолжится без него.

Предположим, у нас есть файл Variable.php, а в нем следующий код:

<?php
$count = 1;

Подключаем его в файле index.php:

<?php
for($i=0;$i<2;$i++){
include ("Variable.php");
echo 'Значение переменной - '.$count.'    ';
$count++;
}

Такой код выведет следующее:

Значение переменной -1 Значение переменной -1 

При ошибочном подключении

<?php
for($i=0;$i<2;$i++){
include ("11Variable.php");
echo 'Значение переменной - '.$count.'    ';
$count++;
}

Такой код выведет следующее:

Значение переменной - Значение переменной -1 

Инструкция require

Если используем require и файл при этом не подключится, то выполнение скрипта завершится фатальной ошибкой. Например, приостановится загрузка страницы сайта.

Эта команда применяется для тех файлов, подключение которых принципиально. Без них работа программы невозможна, поэтому она остановится.

Процесс аналогичен инструкции include. При ошибочном подключении код выглядит так:

<?php
for($i=0;$i<2;$i++){
require ("11Variable.php");
echo 'Значение переменной - '.$count.'    ';
$count++;
}

Он прекратит работу на первой итерации цикла после попытки подключения файла.

Инструкция include_once

Конструкция include с дополнением _once означает, что этот файл можно подключить только единожды. Команды без суффикса _once заставляют файл подключаться раз, второй, третий. Если объявляем директиву include_once, то он используется один раз. Это немного экономит место.

Пример инструкции:

<?php
for($i=0;$i<2;$i++){
include_once ("Variable.php");
echo 'Значение переменной - '.$count.'    ';
$count++;
}

Такой код выведет следующее:

Значение переменной -1 Значение переменной -2 

Инструкция require_once

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

Благодаря директиве _once файл хранится с пометкой, что он уже применялся. Мы его больше не трогаем и не используем.

Любой подключенный файл имеет ту же область видимости, что и строка, где мы указали одну из директив. Если мы объявили ее посередине файла, то область видимости будет глобальной. Если внутри функции — локальной.

Какой способ лучше выбрать

Мы рассмотрели все четыре возможных варианта, как подключить PHP-файл с целью расширения программы. Оптимальные среди них — конструкции с суффиксом _once.

Без _once происходит постоянное переопределение переменных. Оно может привести к алгоритмическим ошибкам. Еще возможна ошибка при вызове функции, которая находится в дважды подключенном файле. Поэтому наш выбор — include_once и require_once в зависимости от важности файлов для работы программы. Инструкции с суффиксами помогают избежать ошибок, связанных с повторным подключением.

Лайфхак от перфекциониста

Чтобы отличать основные файлы от подключаемых, вторые можно переименовать. К примеру, мы пишем сайт на PHP. Добавим .inc к основным файлам header.php, footer.php и другим. Получим названия вида header.inc.php, footer.inc.php и тому подобные. За счет этого в папке вы сразу поймете, какие скрипты основные, а какие — второстепенные.

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

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия PHP-разработчик с нуля до PRO Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована