Composer Flashcards

1
Q
  1. Что такое composer? Зачем он нужен?
A

Composer - это инструмент управления зависимостями в PHP. Он позволяет вам декларировать библиотеки, от которых зависит ваш проект, и он будет управлять (устанавливать / обновлять) их для вас.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

composer update

A

Задача команды composer update — обновить зависимости проекта до актуальных версий в соответствии с правилами, записанными в composer.json.
Для каждого заявленного в проекте пакета менеджер находит его источник, считывает информацию о версиях и зависимостях, а затем рекурсивно повторяет то же самое для зависимостей пакета, чтобы получить полное дерево. После этого Composer разрешает зависимости с учетом версионных правил, объявленных во всех собранных composer.json файлах.
Плоский массив таких объектов будет записан в формате JSON в злополучный файл composer.lock по завершении команды. Это и есть фиксация зависимостей в Composer.
После всех этих ресурсоёмких операций менеджер сопоставляет разрешенные зависимости с уже имеющимися пакетами в папке vendor/ и устраняет несоответствия: удаляет устаревшие и ненужные пакеты, скачивает (или подтягивает из кэша) новые и добавленные.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

composer install

A

Задача команды composer install — установить зафиксированные зависимости проекта.
При запуске команды Composer первым делом ищет файл composer.lock. В случае успеха, минуя вышеописанные сложные процедуры, менеджер мгновенно получает массив разрешенных зависимостей из lock-файла и сразу приступает к обновлению папки vendor/.
Если composer.lock отсутствует, команда выполняет те же действия, что и composer update (включая создание lock-файла).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

composer require

A

Добавляет требуемый пакет в файл composer.json и устанавливает его в ваш проект.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly