Обновление от Symfony 2.0 до 2.3 - программирование
Подтвердить что ты не робот

Обновление от Symfony 2.0 до 2.3

У меня уже есть проект, который находится в Symfony 2.0.10. Но теперь мне нужно обновить его до Symfony 2.3. Я знаю, что нужно изменить какой-то код на компиляцию с последней версией. Есть ли какая-нибудь команда для обновления? Или что такое точная процедура обновления? Есть ли доступный документ?

Edit:

Я помещаю файл Symfony 2.3 composer.json, а при выполнении php composer.phar update я получил эту ошибку.

Problem 1
    - symfony/symfony v2.3.1 requires symfony/icu >=1.0,<2.0 -> no matching package found.
    - symfony/symfony v2.3.0 requires symfony/icu >=1.0,<2.0 -> no matching package found.
    - Installation request for symfony/symfony 2.3.* -> satisfiable by symfony/symfony[v2.3.0, v2.3.1].

Изменить 2: Сначала я получил эту ошибку:

[InvalidArgumentException]                                                                                
  The dist file "app/config/parameters.yml.dist" does not exist. Check your dist-file config or create it.

поэтому я создал файл parameters.yml.dist. Теперь я получаю

PHP Fatal error:  Class 'Symfony\Component\ClassLoader\UniversalClassLoader' not found in /var/www/git/sample/app/autoload.php on line 6
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap handling the post-update-cmd event terminated with an exception

  [RuntimeException]                                     
  An error occurred when generating the bootstrap file.  
4b9b3361

Ответ 1

Информация об обновлении

Прочитайте руководства по обновлению в репозиторий symfony/symfony github:

В репозитории также есть списки изменений:

Резервное копирование проекта!


Обновление с помощью композитора

Получите composer и поставьте стандартную версию Symfony 2.3 composer.json в корневой каталог проекта.

Теперь запустите composer update с вашим патчем проекта как рабочим каталогом.

- > Вы столкнетесь с некоторыми исключениями из-за нарушения изменений. Google поможет решить эти проблемы:)


Личный опыт

В моих предыдущих проектах наиболее заметный разрыв bc от 2.0 до 2.1 был этот, связанный с построителем форм, потому что мне пришлось обновлять каждая форма.

До (2.0)

use Symfony\Component\Form\FormBuilder;
public function buildForm(FormBuilder $builder, array $options)

После (2.1+)

use Symfony\Component\Form\FormBuilderInterface;
public function buildForm(FormBuilderInterface $builder, array $options)

Ответ 2

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

php composer.phar update

Но у 2.3 есть некоторые обратные разрывы совместимости. Поэтому внимательно прочитайте все документы обновления для необходимых изменений кода.