2013-06-19 13 views
14

Zaten Symfony 2.0.10 içinde olan bir proje var. Ama şimdi Symfony 2.3'a yükseltmem gerekiyor. En son sürümle uyumlu olacak şekilde bazı kodları değiştirmem gerektiğini biliyorum. Yükseltmek için herhangi bir komut var mı? Veya yükseltme için tam prosedür nedir? Herhangi bir belge var mı? symfony 2.0 'den yükseltme 2.3

Düzenleme:

Ben symfony 2.3composer.json dosyayı koymak ve php composer.phar update yaparken bu hata var.

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]. 

Düzenleme 2: Öncelikle bu hata var:

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

yüzden parameters.yml.dist dosyası oluşturduk. Yalnızca standard distribution ve

php composer.phar update 

Ama 2.3 bazılarına sahiptir veren göre sizin composer.json sürüm kısıtlamaları güncellemek zorunda olduğu Şimdi alıyorum

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

Düzenleme "iste" @beta uyumluluk flag.' kullanmak için yeni bir soru :) düzenlemek symfony/icu tanıtıldı sonra (2.0)

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

önce: {"symfony/intl": "2.3.*@beta"} '... Bu konuyla ilgili: https://github.com/symfony/symfony/issues/8035 – nifr

+0

Üzgünüm :) Bu sorunu ekleyerek çözdüm. composer.json dosyasında "symfony/intl": "2.3. *" – stefun

+0

harika başka problemler var mı? aksi halde bana cevap verebilirim/orijinal soru bana ve pazi tarafından cevaplandırıldı cevapların birini kabul etmek isteyebilirsiniz :) – nifr

cevap

16

Yükseltme bilgi

symfony/symfony github repository yılında yükseltme kılavuzunu okuyun:

depoda da yapılan değişiklikler vardır:

Yedekleme proje!

besteci ile


Yükseltme composer alın ve koyun symfony 2.3 standart edition en Projeniz köküne içine composer.json.

Artık projenizin yaması çalışma dizini olarak composer update çalıştırın.

-> Değişiklik istisnaları nedeniyle bazı istisnalarla karşılaşacaksınız. Google, miras olarak bu :)


Kişisel deneyim

çözülmesine yardımcı en göze çarpan bc mola projeler olacak 2,0 ila 2,1 her formu güncellemek zorunda çünkü form oluşturucu ilgili this one oldu .

(2.1+)

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

benim için aynı hata oluştu, nasıl güncelleneceğini lütfen öner –

4

Yükseltme, genel basit olduğunu geriye dönük uyumluluk molaları. Bu yüzden gerekli kod değişiklikleri için her yükseltme belgesini dikkatlice okuyun.

+1

Ne dağınıklık. Sf2'nin ek karmaşıklığı ile uğraşmanın, üretkenlik yararına değer olduğundan emin değilim. – Acyra

+0

İki büyük sürümü atladığınızda, bu normaldir. Sadece yeni sürüm takvimi olan 2.3'ten beri 2.x sürümlerinde bc kopması olmamalıdır. –

+0

Symfony 2.0 composer kullanmadı;) –