Задать вопрос
@dasauser
Пишу на PHP

По какому принципу работает autoload в composer?

Пишу свой автозагрузчик.
Хочу понять, по какому принципу работает автозагрузчик в composer.
Пока что сделал так:
1. glob(*.php)
2. foreach {require file}
А как это работает в composer?
Что под капотом? Как реализовано подключение файлов? Где посмотреть код?
Он просто смотрит в json file и тянет все значения полей autoload, а потом подключает по ним все файлы?
Или же он как то понимает, какие файлы нужно подключить?
Объясните, покидайте ссылок. Не смог найти ничего конкретного.
(Хотя возможно я просто плохо искал...)
  • Вопрос задан
  • 1116 просмотров
Подписаться 5 Простой 6 комментариев
Решение пользователя Aleksandr Obukhov К ответам на вопрос (2)
Composer работает по нескольким стандартам - PSR-0 и PSR-4 которые работают по соглашению именования классов и расположения файлов в которых они объявлены - то есть в нем реализована "Ленивая" загрузка классов - класс грузится только когда впервые используется (https://secure.php.net/manual/ru/language.oop5.aut...
Смотри также:
- https://www.php-fig.org/psr/psr-0/
- https://www.php-fig.org/psr/psr-4/

Так же для совместимости есть способ classmap когда явно задается карта "класс" => "файл":
- https://getcomposer.org/doc/04-schema.md#autoload
Ответ написан