Composer это менеджер пакетов для PHP. Подробно о работе с ним можно почитать тут, тут или тут.
С помощью composer мы можем не только собрать проект из различных библиотек, но и просто создать autoloader для своих классов.
Нам понадобится установленный composer
, посмотреть как установить можно тут.
Мы можем описать правила по которым autoloader будет искать файлы классов. Рекомендуется использовать формат psr-0
так как этот формат обладает большей гибкостью.
Структура проекта следующая
Создаем в корне тестового проекта файл composer.json
и прописываем в нем требуемые для автоподключения классы:
в формате psr-0
в формате classmap
в формате files
includes/
во всех листингах - это директория в которой лежат файлы с нашими классами.
Переходим в корень нашего проекта выполняем команду composer install
Теперь в корне проекта находится директория vendor с нашим autoloader. Ниже приведен код файлов, отвечающих за подключение наших классов в зависимости от формата по которому мы создавали composer.json
.
в формате psr-0
в формате classmap
. Поскольку в composer.json
было прописано подключить всю директорию, без разбора, подключились также классы, которые мы не добавляли в composer.json
в других форматах.
в формате files
Все что остается сделать, это подключить файл autoload.php
, который находится в директории vendor
, в нашем проекте
При добавлении новых классов, прописываем их в composer.json
, выполняем команду composer dump-autoload
и они попадают в наш автозагрузчик. Все!