← Назад в словарь

require / include (Подключение файла)

require / include (Подключение файла) (require / include) — требовать / включать

Суть в одном предложении

require и include — конструкции PHP для подключения другого файла в текущий контекст выполнения; при большом числе классов их заменяет автозагрузка.

Краткое определение

require и include подключают PHP-файл по пути. Разница: при отсутствии файла require вызывает Fatal error, include — Warning. Варианты *_once подключают файл не более одного раза. В современных проектах вместо десятков require используют автозагрузку (Composer, PSR-4).

Оригинал и перевод

  • Язык: английский
  • Оригинал: require / include
  • Буквальный перевод: требовать / включать

Синонимы и варианты написания

  • require, require_once
  • include, include_once
  • Подключение файла

Происхождение

Базовые конструкции PHP с ранних версий. В легаси-коде часто встречаются длинные цепочки require_once для каждого класса.

Где используется

  • Любой PHP-скрипт; точка входа (например, один раз require vendor/autoload.php)
  • Легаси-проекты без Composer
  • Подключение конфигов и bootstrap-файлов

Когда это важно

При росте проекта ручные require становятся источником ошибок: забытый require → «Class not found», дублирование путей, циклические зависимости. Решение — автозагрузка по PSR-4, тогда в коде остаётся один require автозагрузчика.

Подробное объяснение

Синтаксис: require __DIR__ . '/file.php';. Файл выполняется в текущей области видимости. В современном стеке в точке входа оставляют только require __DIR__ . '/vendor/autoload.php', а все классы подгружаются автоматически по имени и namespace.

Аналоги и связанные термины

  • Автозагрузка — механизм подгрузки классов без явного require для каждого файла
  • PSR-4, Composer — способ избавиться от ручных require для классов
  • Точка входа — место, где обычно подключают autoload

Пример использования

«Раньше в начале скрипта было 20 строк require_once; перешли на PSR-4 — остался один require vendor/autoload.php.»

Смотри также