Многие разработчики любят язык программирования PHP за его расширяемость и гибкость. Но в этом языке есть некоторые вещи, которые часто сбивают с толку. Самым ярким примером здесь выступает правильный способ подключения внешних файлов. Для этого в PHP есть аж четыре способа подключения файлов, а WordPress даже предлагает свой собственный вариант.
В сегодняшней статье мы рассмотрим четыре способа, которые есть в PHP для подключения файлов, а также рассмотрим способы подключения файлов и шаблонов, которые есть в WordPress.
Подключение файлов в PHP можно охарактеризовать как действие по добавлению другого файла в содержимое текущего файла. Это можно представить как импорт файла; в результате файлы объединяются, а затем интерпретируются как один файл.
include()
Это выражение включает и выполняет указанный файл. Если файл не найден, появится предупреждение PHP.
Проще говоря, это означает, что PHP будет искать файл, который вы пытаетесь включить. Если он будет найден, его содержимое добавится в скрипт в том месте, где вы объявили эту конструкцию.
ВАЖНО: если вы пишете функции, которые зависят от функций в другом файле, тогда убедитесь, что этот файл подключается первым. Если вам нужно добавить набор функций или внешний файл в середине существующей функции, тогда вы можете включить его в нужном месте.
Обратите внимание, что если подключаемый файл отсутствует, PHP выдаст предупреждение об ошибке. В зависимости от конфигурации сервера ошибка будет либо отображаться в браузере, либо будет записана в файл лога (журнал ошибок), либо оба варианта. Предупреждение в данном случае не считается фатальной ошибкой, и, как правило, не останавливает выполнение скрипта, но учтите, что часть ваших функций может работать некорректно.
Когда файл подгружается с помощью include()
, он будет иметь доступ ко всем переменным, которые были определены в текущем скрипте.
include_once()
Эта конструкция ведет себя так же, как и include()
, но если другой файл уже был подключен, он больше не будет подключаться. Т.е., другой скрипт подключается в данном случае только один раз.
Преимущество данного способа подключения заключается в том, что помимо гарантии того, что скрипт будет включен только в одном месте, он также гарантирует, что переменные и функции не обязательно будут переопределены. Если вы решите определить новый набор переменных или функций в файле, включить его в другой скрипт и не использовать include_once()
, тогда вы рискуете переопределить функции и переменные, что может вызвать серьезные проблемы с выполнением кода.
Зависимое подключение файлов аналогично включению файлов, но оно имеет ряд собственных последствий, связанных с ошибками и безопасностью.
В данном случае подразумевается, что зависимое подключение настаивает на том, что скрипту необходим определенный файл для выполнения.
require()
Эта конструкция схожа с include()
, но она выдает фатальную ошибку PHP, если файл не будет найден. Она будет выполнять то же действие, что и include()
, т.е., импортировать внешний скрипт в контекст текущего файла, но если функция не сможет найти другой файл, она выдаст ошибку и полностью остановит выполнение скрипта. С помощью include()
вы получите предупреждение, и скрипт сможет продолжить работу, а здесь ваш скрипт не будет дальше продолжать свое выполнение.
require_once()
Эта конструкция выполняет то же самое, что и require()
, но она не будет подключать файл во второй раз, если он уже был подключен.
require_once()
лучше подходит для больших сайтов, так как на более низком уровне выполняет дополнительную работу, которая влияет на безопасность и производительность.include_once()
быстрее и считается приемлемой для небольших сайтов
Если вам нужно подключать другие файлы в WordPress, есть другой, более эффективный способ, чем использование include()
и require()
.
Допустим, у вас есть определенный шаблон, который вам нужно подключить в другие шаблоны активной темы. Чтобы подключить другой шаблон, вы можете использовать что-то вроде этого:
include_once( 'shablon.php' );
Но это не является лучшей практикой в WordPress.
Вот функция, которую лучше использовать в WordPress: get_template_part()
Эта функция является частью API движка и используется специально для повторного использования разделов, шаблонов или кода (кроме блоков для хедера, футера и боковой панели) в вашей теме. Для этого вам нужно просто добавить в нужном шаблоне код вида:
get_template_part ('shablon');
Функция принимает два аргумента:
shablon
. В результате подключится файл shablon.php
, который находится на одном уровне с текущим файлом (в котором происходит подключение)
Придерживаясь примера выше, вы можете подключать другие шаблоны в нужный шаблон, например в footer.php
, index.php
, single.php
, archives.php
и т.д.
В WordPress есть функция подключения, которая является другим представлением конструкции require_once()
– это функция load_template()
.
Ее синтаксис выглядит следующим образом:
load_template( $_template_file, $require_once );
$_template_file
: путь к файлу, который нужно подключить.$require_once
: true
– будет подключать файл с помощью require_once
, false
– с помощью require
Пример:
load_template( get_template_directory() . '/shablon.php', true );
Вот и все на сегодня. Спасибо за внимание!
В современном ритме мегаполиса отдых стал неотъемлемой частью заботы о здоровье и эмоциональном состоянии. Особенно…
В современном мире цифрового маркетинга Facebook (Meta) остается одной из самых мощных платформ для продвижения…
Этот прибор стал незаменимым элементом арсенала представителей множества профессий, но особенно актуален среди военных. Тепловизор…
Постоянный поток новостей, рабочих задач и личных забот часто приводит к тому, что в голове…
В 2025 году конкуренция в e-commerce стала жесткой как никогда. Клиенты выбирают не только по…
Веб-дизайнеры и разработчики всегда ищут что-то новое и креативное, чтобы сделать свой сайт уникальным и…