Обновление упрощённой версии (например, с 2.5.3 до 2.6.1)

Обновление упрощённой версии (например, с 2.5.3 до 2.6.1)

Если вы обновляете упрощённую версию (где изменяется цифра посредине), то вы не должны столкнуться с существенными изменениями обратной совместимости. Чтобы узнать детали, смотрите обещание обратной совместримоти Symfony.

Однако, некоторые поломки обратной совместимости возможны и через секунду вы узнаете, как подготовиться к ним.

В обновлении упрощённой верси есть два шага:

  1. Обновление библиотеки Symfony через Composer;
  2. Обновление вашего кода для работы с новой версией.

1) Обновление библиотеки Symfony через Composer

Для начала, вам нужно обновить Symfony, модифицировав ваш файл composer.json так, чтобы он использовал новую версию:

1
2
3
4
5
6
7
8
{
    "...": "...",

    "require": {
        "symfony/symfony": "2.6.*",
    },
    "...": "...",
}

Далее, используйте Composer для скачивание новых версий библиотек:

1
$ composer update symfony/symfony

Ошибки зависимостей

Если вы получите ошибку зависимости, она может просто означать, что вам нужно обновить и другие ваши зависимости. В этом случае, попробуйте следующую команду:

1
$ composer update symfony/symfony --with-dependencies

Это обновляет symfony/symfony и все пакеты, от которых он завсит, которые будут включать всебя несколько других пакетов. Используя облегчённую версию ограничений в composer.json, вы можете контролировать, до каких версий будет обновлена каждая из ваших библиотек.

Если и это не сработает, ваш файл composer.json может указывать версию для билиотеки, котора не совместима с более новыми версиями Symfony. В таком случае, обновление библиотеки до более новой версии в composer.json может решить проблему.

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

Обновление других пакетов

Вы можете также захотеть обновить и остальные ваши библиотеки. Если вы хорошо справились с вашими version constraints в composer.json, вы можете без опаски сделать это, выполнив:

1
$ composer update

Caution

Будьте осторожны, если у вас есь какие-то общие ограничения версий в вашем composer.json (например, dev-master), это может обновить некоторые библиотеки не из Symfony до более новых версий, которые содержат существенные изменения обратной совместимости.

2) Обновление вашего кода для работы с новой версией

В теории, вы должны уже закончить! Однако, вам может понадобиться сделать несколько изменений в вашем коде, чтобы всё заработало. В дополнение, некоторые функции, которые вы используете, могут работать, но теперь могут осуждаться. И хотя это нормально, если вы будете знать об этих осуждениях, вы можете начать исправлять их со временем.

Каждая версия Symfony поставляется с файлом обновленя (UPGRADE) (например, UPGRADE-2.7.md), включённым в каталог Symfony, который обоъясняет эти изменения. Если вы будете следоваь инструкциям в документа и соответственно обновите ваш код, в будущем обновления должны стать безопасными.

Эти документы также можно найти в Хранилище Symfony.