从symfony 2.0升级到2.3

从symfony 2.0升级到2.3,symfony,upgrade,symfony-2.3,Symfony,Upgrade,Symfony 2.3,我已经在Symfony 2.0.10中运行了一个项目。但现在我需要将其升级到Symfony 2.3。我知道需要将一些代码更改为与最新版本兼容。是否有任何升级命令?或者升级的确切步骤是什么?有文件吗 编辑: 我把symfony 2.3composer.json文件放进了php composer.phar更新时,我得到了这个错误 Problem 1 - symfony/symfony v2.3.1 requires symfony/icu >=1.0,<2.0 -> no

我已经在
Symfony 2.0.10
中运行了一个项目。但现在我需要将其升级到
Symfony 2.3
。我知道需要将一些代码更改为与最新版本兼容。是否有任何升级命令?或者升级的确切步骤是什么?有文件吗

编辑:

我把
symfony 2.3
composer.json
文件放进了
php composer.phar更新时,我得到了这个错误

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].
所以我创建了
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.  

升级通常很简单,因为您只需根据和发布的命令更新composer.json中的版本约束

php composer.phar update
但是2.3有一些向后的兼容性中断。因此,请仔细阅读每个升级文档,了解必要的代码更改


升级信息

请阅读以下中的升级指南:

存储库中还有更改日志:

备份你的项目


使用composer升级

获取并将symfony 2.3标准版的放入项目根目录中

现在运行
composer update
,将项目的补丁作为工作目录

->由于中断更改异常,您将面临一些异常。谷歌将帮助解决这些问题:)


个人经历

在我的遗留项目中,从2.0到2.1最显著的bc中断与表单生成器有关,因为我必须更新每个表单

之前(2.0)

之后(2.1+)


您的编辑引入了一个新问题:)编辑symfony/icu以使用@beta兼容标志。
“require”:{“symfony/intl”:“2.3.*@beta”}
。。。与此问题相关:抱歉:)。我通过在composer.json文件“symfony/intl”中添加“2.3.*”解决了此问题。还有其他问题吗?否则,您可能希望升级/接受其中一个答案,因为我和pazi已经回答了原始问题:)我的升级仍然没有完成。我又遇到了一个问题。我会更新它:)我通过从Symfony 2.3 autoload.php复制autoload.php解决了这个问题。我不确定处理Sf2增加的复杂性是否值得提高生产率。当你跳过两个主要版本时,这是正常的。只有在2.3版本和新的发布计划之后,2.x版本才不会出现bc中断。Symfony 2.0没有使用composer;)
php composer.phar update
use Symfony\Component\Form\FormBuilder;
public function buildForm(FormBuilder $builder, array $options)
use Symfony\Component\Form\FormBuilderInterface;
public function buildForm(FormBuilderInterface $builder, array $options)