Сегодня я покажу вам, как быстро и удобно организовать автозагрузку классов в PHP без использования Composer.
Мы все любим Composer, но бывают ситуации, когда он просто неуместен — например, в небольшом проекте, скрипте или легаси-коде, где Composer не использовался изначально. В таких случаях можно сделать свою простую, но эффективную автозагрузку.
Вот базовый пример:
spl_autoload_register(function ($class) {
$baseDir = __DIR__ . '/src/';
$classPath = str_replace('\\', '/', $class) . '.php';
$file = $baseDir . $classPath;
if (file_exists($file)) {
require $file;
}
});
Что здесь происходит:
-
spl_autoload_register
регистрирует анонимную функцию, которая будет вызываться при попытке использовать неизвестный класс.- Класс
App\Services\MailService
превратится в путь src/App/Services/MailService.php
- Если файл существует — он подключается.
Это суперудобный способ структурировать код и избавиться от бесконечных
require
.Если хочется чуть больше гибкости — можно добавить поддержку нескольких базовых директорий, логирование ошибок или даже кэширование найденных путей.
Вопрос к вам:
А вы когда-нибудь писали свою автозагрузку? Или полностью доверяете Composer?
👉 @php_lib
>>Click here to continue<<
