Обновление упрощённой версии (например, с 2.5.3 до 2.6.1)
Обновление упрощённой версии (например, с 2.5.3 до 2.6.1)
Если вы обновляете упрощённую версию (где изменяется цифра посредине), то вы не должны столкнуться с существенными изменениями обратной совместимости. Чтобы узнать детали, смотрите обещание обратной совместримоти Symfony.
Однако, некоторые поломки обратной совместимости возможны и через секунду вы узнаете, как подготовиться к ним.
В обновлении упрощённой верси есть два шага:
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.