spl_autoload_register
Регистрирует функцию, которая подключает файл с классом при первом обращении к нему.
Синтаксис
spl_autoload_register(?callable $callback = null, bool $throw = true, bool $prepend = false): boolПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $callback | ?callable | Функция, получающая имя класса. |
| $throw | bool | Необязательный. Не используется с PHP 8. |
| $prepend | bool | Необязательный. Поставить функцию первой в очереди. |
Возвращаемое значение
bool`true`, если функция зарегистрирована.
Примеры
Автозагрузчик получает имя класса:
<?php
spl_autoload_register(function (string $class) {
echo 'Loading ', $class, "\n";
});
var_dump(class_exists('App\\Models\\User'));Результат:
Loading App\Models\User
bool(false)Примечания
Писать автозагрузчик вручную приходится редко: Composer создаёт готовый — достаточно подключить vendor/autoload.php.
См. также
- class_exists — Проверяет, определён ли класс.
В учебнике
- Пространства имён и Composer — Как устроен проект на PHP — пространства имён, автозагрузка классов по PSR-4 и установка библиотек через Composer.