Февраль 13 2019

Подключение в PHP сторонних файлов

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

Давайте для начала создадим файл «a.php«, в котором напишем такие строки:

<?php
  echo "Это работа скрипта в файле a.php";
?>

Теперь давайте создадим ещё один файл (например, «b.php«) и подключим в нём скрипт «a.php«:

<?php
  require "a.php";
  echo "Это работа скрипта в файле b.php";
?>

Как Вы догадались, подключение стороннего файла в PHP осуществляется с помощью конструкции require. Если выражаться простым языком, то эта конструкция просто копирует весь код из «a.php» и вставляет в «b.php«. Очень важный нюанс: путь к файлу должен быть написан верно, причём старайтесь писать относительный путь, а не абсолютный, так как написание абсолютных путей в конструкции require часто отключено в настройках PHP, в целях безопасности. Также Вы можете подключать не только PHP-файлы, но и любые другие. Например, часто подключаются HTML-файлы. В своё время, когда я делал один сайт, я чтобы не копировать определённые повторяющиеся вещи (например, меню, счётчики, копирайты и прочее), я запихнул их HTML-код в отдельный файл. А потом на каждой странице просто подключал эти файлы. В результате, чтобы внести изменение, например, в меню, мне достаточно было исправить один подключаемый файл, и сразу после этого весь сайт преображался. Так что эта конструкция крайне полезна, и, как минимум, экономит тучу времени.

Однако, очень важный момент. Как избежать такой проблемы: допустим два разработчика делают одну большую программу. Первый разработчик нашёл готовый вариант выполнения части своей задачи, и подключил его с помощью require. Второй разработчик так же нашёл абсолютно то же самое готовое решение для уже своей задачи, и так же с помощью requireподключил скрипт. Затем когда оба разработчика соединят свои части в единое целое, появятся ошибки. Почему? А всё потому, что они один и тот же скрипт подключили два раза. Давайте посмотрим на простой пример:

<?php
  require "a.php";
  require "b.php";
  echo "Это работа скрипта в файле c.php";
?>

Если Вы запустите данный скрипт, то обнаружите, что файл «a.php» подключался два раза, однако, мы же вызывали его всего один раз. Почему так вышло? А потому, что в файле «b.php» он также подключается. Вот такая проблема получается. И решается она очень просто: с помощью конструкции require_once. Она делает всё тоже самое, но если файл уже был подключен в этом скрипте, то подключать его не будет. Давайте исправим файл «b.php«:

<?php
  require_once "a.php";
  echo "Это работа скрипта в файле b.php";
?>

Теперь, если мы запустим скрипт «c.php«, то увидим, что файл «a.php» запустился как и положено всего один раз. Лично я Вам советую всегда использовать конструкцию require_once, если конечно Вам не нужно вставлять одно и то же по несколько раз (такое тоже иногда бывает нужно). Таким образом, Вы избежите лишних ошибок.

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

Источник: https://myrusakov.ru/podkluchenie-file-php.html


Метки: , , ,
При копировании материала используйте ссылку на первоисточник!

Опубликовано 13.02.2019 MainPerson в категории "PHP

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *