🪄Composer

Устанавливает пакеты которые указаны в зависимостях в composer.json в папку vendor, у этих пакетов тоже есть свой composer.json и свои зависимости, их композер тоже "разрешает" и устанавливает. И делает автозагрузку классов соответственно в свойстве "autoload" в composer.json, как в основном, так и в каждом пакете (подробнее тут).

composer require vendor/package

Добавляет требуемый пакет в файл composer.json и устанавливает его в ваш проект. Команда require изменяет composer.json, находящийся в текущей папке. Если пакету требуются зависимости, то они будут установлены или обновлены. А также будет обновлён composer.lock.

composer install

Если файла composer.lock нет, резолвит зависимости исходя из composer.json и создаёт его. Далее, анализирует файл composer.lock, скачивает и устанавливает указанные в нём версии пакетов. Опция --no-scripts полезна для обхода запуска скриптов, указанных в pre- и post- настройках.

composer update

Обновляет ваши зависимости до последних версий и обновляет composer.lock. Команда update резолвит зависимости чтобы получить самые последние версии зависящих друг от друга пакетов.

composer update --lock

Иногда, вы можете получить такое предупреждение:

Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them.

Это может произойти после того, как вы вручную редактировали composer.json (добавляли или изменяли description, authors, extra и т. д.). Даже если ваши изменения незначимы для Composer, он обнаруживает, что md5sum файла изменена, и предупреждает, что эти изменения не учтены в файле composer.lock. Поэтому, чтобы подавить это предупреждение, вы можете просто запустить команду update --lock для обновления lock-файла без обновления самих пакетов.

composer dump-autoload --optimize

Если вам нужно обновить загрузчик, т. к. появились новые классы, вы можете выполнить команду dump-autoload чтобы избежать установки или обновления пакетов. Используйте ключ --optimize для преобразования PSR-0 в автозагрузку как для classmap, чтобы автозагрузчик был наиболее быстрым. Это настоятельно рекомендуется дляproduction (вы можете получить 20% прирост), но может занять немного времени для запуска, так что это на данный момент не сделано по умолчанию. Также вы можете использовать dumpautoload псевдоним.

composer create-project vendor/package dir/

Создать новый проект из указанного пакета в указанном каталоге.

composer init

Создает базовый вариант файла composer.json в текущем каталоге. При запуске команды, Composer будет интерактивно запрашивать значения полей для заполнения, используя при этом для некоторых полей умные значения по умолчанию.

composer remove

Удаляет пакет из секций require или require-dev: remove vendor/package vendor/package2.

Last updated