Twitt
@Twitt

В каком случае нужно отказаться от composer autoload и использовать spl_autoload_register?

Я обычно делаю автолоад через композер, добавляя в composer.json в секции autoload "psr-4" неймспейс и путь к папке.
Узнал, что некоторые юзают еще spl_autoload_register, где мы получается самописно делаем автолоад.
Собственно, в каких случаях надо делать "самописный автолоад", а в каких юзать композерский?
  • Вопрос задан
  • 237 просмотров
Решения вопроса 2
@bkosun
Composer использует функцию spl_autoload_register для регистрации автозагрузчика. Дело в том, что задачи, которые выполняет Composer намного шире, чем просто генерация файлов для автозагрузки. Если Вам не нужны все функции, или по какой-либо причине Вы не можете использовать Composer - можно написать собственный автозагрузчик.
Ответ написан
Комментировать
@kester
SW Dev
Иногда в легаси коде есть свои правила автолоада, отличные от PSR-4 или даже PSR-0.
К примеру, вариации с названиями файлов:
MyClassName.class.php (".class" sufix)
myclassname.php (lowcase for all)

В таких случаях композер автолоад не поможет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@miksir
IT
Если используется композер - то свои автолоады крайне не желательны, ибо вносят долю хаоса. Конечно, исключения возможны, например, автоматическое генерирование классов на из запросе и что-то подобное, но, имхо, даже это можно сделать используя стандартные схемы автолоада. А на крайний случай, да, можно использовать свой spl_autoload_register, но и тот я бы советовал подключать через files автолоада композера
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы