Обновление Symfony2 с 2.2 до 2.3

Я только что прочитал о новой версии Symfony: Блог Symfony. В нем говорится: "Обновление версии 2.2 до версии 2.3 должно быть безболезненным".

Поскольку у меня есть только один проект, и я обновил его с версии 2.0 до версии 2.2 в основном путем создания нового с нуля, я немного боюсь 'должно быть'.

Мой проект построен с помощью composer.

Над каким кодом нужно поработать и что именно мне нужно мигрировать? Я действительно не могу найти это на сайте symfony.


person Sammy    schedule 05.06.2013    source источник


Ответы (1)


Вы можете прочитать upgrade файл readme в репозитории Symfony, чтобы увидеть может коснуться вашего кода.

Я обновляю один проект с 2.1 до 2.3, и это было действительно безболезненно. Обновление с 2.0 до 2.1 прошло очень болезненно. В основном это зависит от пакетов поставщиков, которые захотят обновиться до новых версий.

Обновить

Чтобы обновить ваше приложение, вы должны изменить свой composer.json файл. Существует файл composer.json из стандартного репозитория symfony. Вы должны изменить версию в файле composer.json и запустить php composer.phar update. Пример обновления ядра Symfony изменить "symfony/symfony": "2.1.*" на "symfony/symfony": "2.3.*". Но будьте осторожны, есть пакеты, зависящие между версиями друг от друга. Пример doctrine-bundle v1.1 работает только с symfony 2.1

Обновление (некоторые из основанных устаревших версий)

  • Параметр trust_proxy_headers устарел. См. здесь.

  • MinLength и MaxLength устарел.

  • Мин и Максимум валидаторов устарел.

  • Тип формы Field удален.

  • Некоторые старые блоки веток, такие как {% block field_row %}, {% block field_label %}, также удалены (находятся в form_div_layout.html.twig).

Файлы обновления Symfony (просто для удобства)

Небольшой совет

Чтобы найти правильную версию, полезно использовать https://packagist.org. Пример на странице doctrine-bundle, вы можете увидеть, какая версия подходит для версии 2.3.

person Alexey B.    schedule 05.06.2013
comment
Извините, для меня это впервые: Помимо возможных изменений кода... как мне обновить symfony. Должен ли я заменить существующий файл composer.jar новым и выполнить установку композитора? И удалятся ли удаленные пакеты автоматически? ОК: должно быть что-то вроде этого: /14924867/ - person Sammy; 05.06.2013
comment
Спасибо. Я искал файлы на странице загрузки symfony. Я думаю, что это не "symfony-way", могло быть и проще :-) - person Sammy; 05.06.2013
comment
Вам также необходимо убедиться, что ваш файл app/bootstrap.php.cache обновлен. Обычно это делает Composer, но проверить не помешает. - person Cerad; 05.06.2013
comment
Вам нужно удалить запись jms/extra из security.yml и вручную удалить записи для JMSAopBundle в AppKernel.php, чтобы обновиться без ошибок ›_› - person JhovaniC; 11.06.2013