В одной из прошлых статей я уже рассказывал о пакетном менеджере PHP Composer . Сегодня я расскажу о версионировании пакетов в composer.json .

PHP Composer: Версионирование пакетов

В одной из прошлых статей я уже рассказывал о пакетном менеджере PHP Composer. Сегодня я расскажу о версионировании пакетов в composer.json.

Итак, зависимости проекта прописываются в файле comsposer.json прописываются в разделе require и require-dev. require - для зависимостей без которых код работать не будет, а require-dev - зависимости, требуемые при разработке.

Рассмотрим пример:

"require": {
    "php": ">=7.0.0",
    "laravel/framework": "7.0.*"
},

Как видно зависимости указываются в виде пар ключ - значение, где ключ - название зависимости, значение версии.

Теперь подробнее рассмотрим, версии зависимостей:

Название Пример Описание
Точная версия 1.0.2 Точная версия зависимости
Диапазон >=1.0 Используя операторы сравнения можно определять диапазоны
Шаблоны 1.0.* Вы можете указать шаблон с подстановочным знаком *. 1.0.* Что эквивалентно >= 1.0, <1.1.
Оператор ~ (тильда) 1.0.* ~1.2 Очень полезно для проектов, используют семантическое версионирование. ~1.2 эквивалентно >= 1.2, <2.0

Таким образом, в разделе require, как и require-dev Вы можете указать точные версии или диапазоны версии библиотек, которые требуются в проекте.