2013-06-19 12 views
14

Ich habe bereits ein laufendes Projekt, das in Symfony 2.0.10 ist. Aber jetzt muss ich es auf Symfony 2.3 aktualisieren. Ich weiß, dass es notwendig ist, einige Code mit der neuesten Version zu konvertieren. Gibt es einen Befehl zu aktualisieren? Oder was ist das genaue Upgrade-Verfahren? Ist ein Dokument verfügbar?Upgrade von Symfony 2.0 auf 2.3

Edit:

Ich habe symfony 2.3composer.json Datei und während php composer.phar update tun bekam ich diesen Fehler.

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

Edit 2: Zuerst habe ich diesen Fehler habe:

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

so habe ich parameters.yml.dist Datei. Jetzt erhalte ich

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

Ihre Bearbeitung hat eine neue Frage :) bearbeiten symfony/icu @beta Kompatibilität flag.' verwenden "require": {"symfony/intl": "2.3.*@beta"} '... im Zusammenhang mit diesem Problem: https://github.com/symfony/symfony/issues/8035 – nifr

+0

Entschuldigung :) Ich habe dieses Problem gelöst, indem ich hinzugefügt habe in composer.json Datei "symfony/intl": "2.3. *" – stefun

+0

groß irgendwelche anderen Probleme? Sonst möchtest du vielleicht eine der Antworten aufheben/akzeptieren, da die ursprüngliche Frage von mir und pazi beantwortet wurde :) – nifr

Antwort

16

Upgrade-Informationen

Lesen Sie die Upgrade-Führer in symfony/symfony github repository:

Es gibt auch Changelogs im Repository:

Sichern Sie Ihr Projekt!


Upgrade mit dem Komponisten

Get composer und setzen die symfony 2.3 Standard Edition composer.json in Ihr Projekt Wurzel.

Starten Sie nun composer update mit dem Patch Ihres Projekts als Arbeitsverzeichnis.

-> Sie werden einige Ausnahmen aufgrund von breaking changes Ausnahmen begegnen. Google wird die auffälligste bc Pause 2,0-2,1 war jene :)


Persönliche Erfahrung

In meiner Vermächtnis-Projekten helfen lösen this one zum Formular-Builder verwendet, weil ich jede Form zu aktualisieren hatte .

Vor (2,0)

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

Nach (2.1+)

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

Der selbe Fehler tritt bei mir auf, wie update bitte vorschlagen –

4

Upgrade ist in der Regel einfach, da Sie nur die Version Einschränkungen in composer.json aktualisieren müssen nach dem standard distribution und Ausgabe

php composer.phar update 

Aber 2.3 hat einige Rückwärtskompatibilität bricht. Lesen Sie daher sorgfältig jedes Upgrade-Dokument für notwendige Codeänderungen.

+1

Was für ein Durcheinander. Ich bin mir nicht sicher, ob der Umgang mit der zusätzlichen Komplexität von Sf2 den Produktivitätsvorteil wert ist. – Acyra

+0

Was ist normal, wenn Sie zwei Hauptversionen überspringen. Erst seit 2.3 mit dem neuen Release-Zeitplan sollten bei 2.x-Versionen keine bc-Breaks mehr auftreten. –

+0

Symfony 2.0 hat keinen Composer verwendet;) –

Verwandte Themen