Что такое автозагрузка классов? __autoload() vs spl_autoload_register()

Ответ

Автозагрузка - механизм автоматического подключения файлов при первом обращении к классу.

spl_autoload_register(function (string $class) {
    $file = str_replace('\\', '/', $class) . '.php';
    if (file_exists($file)) {
        require $file;
    }
});

__autoload() - устаревшая функция (deprecated с PHP 7.2, удалена в PHP 8.0). Могла быть только одна.

spl_autoload_register() - современный подход. Позволяет регистрировать несколько автозагрузчиков в цепочке. Composer генерирует оптимизированный автозагрузчик на основе PSR-4, classmap и files.

// Composer делает это за нас
require 'vendor/autoload.php';
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.