Обновление упрощённой версии (например, с 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
|
Dependency Errors¶
If you get a dependency error, it may mean that you also need to upgrade
other libraries that are dependencies of the Symfony libraries. To allow
that, pass the --with-all-dependencies
flag:
1 | $ composer update "symfony/*" --with-all-dependencies
|
This updates symfony/*
and all packages that those packages depend on.
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.
Another issue that may happen is that the project dependencies can be installed on your local computer but not on the remote server. This usually happens when the PHP versions are different on each machine. The solution is to add the platform config option to your composer.json file to define the highest PHP version allowed for the dependencies (set it to the server’s PHP version).
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.