Обновление упрощённой версии (например, с 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

Dependency Errors

If you get a dependency error, it may simply mean that you need to upgrade other Symfony dependencies too. In that case, try the following command:

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

This updates symfony/symfony and all packages that it depends on, which will include several other packages. By using tight version constraints in composer.json, you can control what versions each library upgrades to.

If this still doesn't work, your composer.json file may specify a version for a library that is not compatible with the newer Symfony version. In that case, updating that library to a newer version in composer.json may solve the issue.

Or, you may have deeper issues where different libraries depend on conflicting versions of other libraries. Check your error message to debug.

Upgrading other Packages

You may also want to upgrade the rest of your libraries. If you've done a good job with your version constraints in composer.json, you can do this safely by running:

1
$ composer update

Caution

Beware, if you have some unspecific version constraints in your composer.json (e.g. dev-master), this could upgrade some non-Symfony libraries to new versions that contain backwards-compatibility breaking changes.

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

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

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

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

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.