Composer для начинающих PHP: зависимости и автозагрузка
Вы начинаете новый PHP-проект и вам нужна библиотека для логирования или HTTP-запросов. Вы копируете и вставляете код, но он быстро становится беспорядочным. Как правильно управлять внешними библиотеками? Composer решает эту проблему, беря на себя управление зависимостями и автозагрузку. В этом руководстве вы узнаете, как использовать Composer с нуля.
Что такое Composer?
Composer — это менеджер зависимостей для PHP. Он позволяет объявлять библиотеки, от которых зависит ваш проект, и управляет ими. Это не менеджер пакетов, такой как apt или yum; он работает для каждого проекта отдельно, устанавливая зависимости в директорию vendor.
Установка Composer
Сначала проверьте, установлен ли Composer, выполнив в терминале composer --version. Если нет, скачайте и установите его с getcomposer.org. В Windows используйте установщик Composer-Setup.exe. В macOS/Linux запустите скрипт установки.
Создание файла composer.json
В каждом проекте Composer есть файл composer.json, описывающий зависимости. Вы можете создать его вручную или выполнить:
composer init
Эта интерактивная команда запросит имя пакета, описание, автора и зависимости. Пока можно пропустить добавление зависимостей и отредактировать файл позже.
Добавление зависимостей
Чтобы добавить библиотеку, используйте composer require. Например, чтобы добавить популярную библиотеку для логирования monolog/monolog:
composer require monolog/monolog
Composer скачает библиотеку и её зависимости в директорию vendor и обновит composer.json и composer.lock.
Понимание ограничений версий
Composer использует семантическое версионирование. Распространённые ограничения:
^1.2разрешает обновления до1.x, но не до2.0(рекомендуется для библиотек).~1.2разрешает обновления до1.2.x, но не до1.3.1.2.*разрешает любую версию1.2.x.>=1.2