2013-06-19 206 views
14

我已經有運行在Symfony 2.0.10的項目。但現在我需要將其升級到Symfony 2.3。我知道需要更改一些代碼以便與最新版本兼容。是否有任何升級命令?或者什麼是升級的確切程序?有沒有可用的文件?從symfony 2.0升級到2.3

編輯:

我把symfony 2.3composer.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. 
+1

您的編輯引入了一個新的問題:)編輯的symfony/ICU使用@beta兼容性flag.' 「規定」: {「symfony/intl」:「2.3.*@beta」}'......與此問題相關:https://github.com/symfony/symfony/issues/8035 – nifr

+0

對不起:)。我通過添加在composer.json文件中「symfony/intl」:「2.3。*」 – stefun

+0

很大的其他問題?否則你可能想要upvote /接受其中一個答案,因爲原來的問題已經被我和pazi回答:) – nifr

回答

16

升級信息

閱讀升級指南中symfony/symfony github repository

也有更新日誌存儲庫中的:

備份您的項目!


升級與作曲家

獲取composer並把symfony的2.3標準版的composer.json到項目的根。

現在運行composer update並將項目的補丁作爲工作目錄。

- >由於中斷更改異常,您將面臨一些異常情況。谷歌將有助於解決這些:)


個人經歷

在我的遺產項目從最顯着的突破BC 2.0到2.1是this one相關表格建設者,因爲我必須更新每個表單。

前(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) 
+0

同樣的錯誤發生在我身上,如何更新請提出建議 –

4

升級是在普通的簡單,因爲你只需要根據​​併發出

php composer.phar update 

但2.3有一些更新您的composer.json版本限制向後兼容性中斷。因此,仔細閱讀每個升級文檔以進行必要的代碼更改

+1

真是一團糟。我不確定處理Sf2增加的複雜性是否值得提高生產力。 – Acyra

+0

什麼,這是正常的,當你跳過兩個主要版本。只有從2.3版本開始,新發布時間表纔不會在2.x版本中出現故障。 –

+0

Symfony 2.0沒有使用作曲者;) –