从symfony 2.0升级到2.3

ste*_*fun 14 upgrade symfony symfony-2.3

我已经有了正在运行的项目Symfony 2.0.10.但现在我需要将其升级到Symfony 2.3.我知道需要更改一些代码才能与最新版本兼容.是否有任何升级命令?或者升级的具体步骤是什么?有没有可用的文件?

编辑:

我把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].
Run Code Online (Sandbox Code Playgroud)

编辑2: 首先我得到了这个错误:

[InvalidArgumentException]                                                                                
  The dist file "app/config/parameters.yml.dist" does not exist. Check your dist-file config or create it.
Run Code Online (Sandbox Code Playgroud)

所以我创建了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.  
Run Code Online (Sandbox Code Playgroud)

Nic*_*ich 16

升级信息

阅读symfony/symfony github存储库中的升级指南:

存储库中还有更改日志:

备份你的项目!


使用作曲家升级

获取作曲家并将symfony 2.3标准版的composer.json放入项目根目录.

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

- >由于异常更改,您将面临一些例外情况.谷歌将帮助解决这些:)


个人经验

在我的遗留项目中,最引人注目的bc从2.0到2.1的突破是这个与表单构建器有关,因为我必须更新每个表单.

之前(2.0)

use Symfony\Component\Form\FormBuilder;
public function buildForm(FormBuilder $builder, array $options)
Run Code Online (Sandbox Code Playgroud)

之后(2.1+)

use Symfony\Component\Form\FormBuilderInterface;
public function buildForm(FormBuilderInterface $builder, array $options)
Run Code Online (Sandbox Code Playgroud)