Frage

Welche Schritte sollten Sie für eine reibungslose Migration von PHP4 auf PHP5 befolgen?Welche Arten von Code können wahrscheinlich kaputt gehen?

War es hilfreich?

Lösung

Ich habe auch einmal an einer App gearbeitet, die die XML-Unterstützung von PHP4 ziemlich stark nutzte und deren Umstellung auf PHP5 ziemlich viel Arbeit erfordert hätte.

Eine der anderen bedeutenden Änderungen, die ich damals betrachtete, war die Änderung der Standardbehandlung von Funktionsparametern.Soweit ich mich erinnere, waren sie in PHP4 „Pass-by-Copy“, sofern Sie nichts anderes angegeben haben, aber in PHP5 ist dies standardmäßig auf „Pass-by-Reference“ umgestellt.In gut geschriebenem Code wird das für Sie wahrscheinlich keinen großen Unterschied machen, aber es könnte sicherlich Probleme verursachen.

Ich glaube, eine andere Sache, die ich als geändert empfunden habe, ist, dass es Objekten nicht mehr gestattet ist, ihr Feld „dieses“ zu überschreiben.Ich würde sagen, dass das von Anfang an eine wirklich schlechte Idee war (und ich denke, es war möglicherweise keine absichtliche Funktion in PHP4), aber ich habe sicherlich einige Teile unseres Systems gefunden, die darauf angewiesen waren.

Ich hoffe, dass etwas davon hilft.

Andere Tipps

Der beste Rat, den ich jedem geben kann, der mit PHP4 arbeitet, ist dieser:

error_reporting( E_ALL );

Es wird Ihnen ziemlich genau sagen, was Sie tun müssen.

Wir hatten eine App, die sich stark auf die XML-DOM-Funktionen von PHP 4 stützte und für die Umstellung auf PHP 5 viele Umrüstungen erforderlich waren.

Darüber hinaus betrafen die meisten Änderungen Verbesserungen an Dingen wie der Fehlerbehandlung (um Ausnahmen auszunutzen) und PHP-Klassen.

OOP ist einer der größten Unterschiede.Es wird nicht kaputt gehen, da die OOP-Stile von PHP4 und PHP5 austauschbar sind, aber ich würde empfehlen, die neuen OOP-Stile von PHP5 zu nutzen.Es ist kein großer Arbeitsaufwand, Ihre vorhandenen Klassen in PHP5 zu konvertieren, und es bietet Ihnen einige zusätzliche magische Methoden, die bei der Lösung einiger bestehender Hacks helfen können (ich erinnere mich, dass es in den meisten Klassen eine nahezu nutzlose __toString-äquivalente Methode gab).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top