Was sind einige gute Schritte für eine reibungslose Migration von PHP4 zu PHP5 zu folgen. Was sind einige Arten von Code, die wahrscheinlich brechen werden?PHP4 zu PHP5 Migration
Antwort
Ich habe auch einmal an einer App gearbeitet, die die XML-Unterstützung von PHP4 ziemlich stark verwendet hat und ziemlich viel Arbeit erfordert hätte, um zu PHP5 zu wechseln.
Eine der anderen wichtigen Änderungen, die ich zu der Zeit betrachtete, war die Änderung der Standardbehandlung von Funktionsparametern. In PHP4, wenn ich mich erinnere, waren sie Pass-by-Kopie, wenn Sie nicht anders angegeben, aber in PHP5 wird standardmäßig auf Pass-by-Reference geändert. In gut geschriebenen Code wird das wahrscheinlich keinen großen Unterschied für Sie machen, aber es könnte sicherlich Probleme verursachen.
Ich denke, eine andere Sache, die ich gefunden habe, ist geändert, dass Objekte ihr 'dieses' Feld nicht mehr überschreiben dürfen. Ich würde sagen, das war eine wirklich schlechte Idee (und ich denke, es war vielleicht keine absichtliche Funktion in PHP4), aber ich habe sicherlich einige Teile unseres Systems gefunden, die sich darauf verlassen haben.
Hoffe, dass einige davon hilft.
Wir hatten eine App, die stark auf den PHP 4 XML-DOM-Funktionen verlassen und es erforderlich, PHP eine Menge Umrüsten 5.
Darüber hinaus werden die meisten Änderungen zu wechseln wurden Verbesserungen, um Dinge wie Fehlerbehandlung (zu nutzen von Ausnahmen) und PHP-Klassen.
Der beste Rat, den ich jemand geben könnte mit PHP4 arbeiten, ist dies:
error_reporting(E_ALL);
Es ziemlich viel wird Ihnen genau sagen, was Sie tun müssen.
Vor oder nach der Migration? –
OOP ist einer der größten Unterschiede. Es wird nicht brechen, da die PHP4 und PHP5 OOP Styles austauschbar sind, aber ich würde empfehlen, die neuen OOP Styles von PHP5 zu nutzen. Es ist keine große Arbeit, die vorhandenen Klassen in PHP5 umzuwandeln und es gibt einige zusätzliche magische Methoden, die dabei helfen können, einige existierende Hacks zu lösen (ich erinnere mich daran, dass in den meisten Klassen eine nahezu nutzlose __toString-Methode verwendet wurde).
- 1. Migration von php4/mysql4 zu php5/mysql5: Wechsel zu InnoDB?
- 2. DOMXML, PHP4 => PHP5
- 3. Kann php5 mit php4 koexistieren?
- 4. mktime VS Zeit PHP4 VS PHP5
- 5. Seltsames Verhalten Migration von Sitzungen mit Rückrufen von PHP4 nach PHP5
- 6. wie man php5 xmlParser auf php4 Server arbeiten lassen?
- 7. Gibt es eine Möglichkeit, PHP5 __call() magische Methode in PHP4 zu emulieren?
- 8. SVG zu JPEG über PHP4
- 9. PHP4 unterstützt DOMDocument? Mein Code sagt ja?
- 10. XPath in PHP4 und Wert Inhalt
- 11. Was für das XML-Parsing/Lesen in PHP4 zu verwenden ist
- 12. Veraltete Warnung nur in einigen php5-Umgebungen?
- 13. Strategien zum Umgang mit Speicherverbrauch in PHP5?
- 14. Gibt es eine gute php5 OOP Tutorial-Seite?
- 15. Gibt es eine PHP5-Einstellung, um Objekte nach Wert zu kopieren?
- 16. Gibt es trotzdem einen PHP4 mysql Client zu aktualisieren?
- 17. FlexBuilder zu FDT Migration
- 18. PHP zu Java Migration
- 19. Migration zu ES6
- 20. EF-Migration zu Oracle
- 21. Webform zu MVC Migration
- 22. DB2 zu Netezza Migration
- 23. Azure-zu-AWS-Migration
- 24. MySql zu MSSQL Migration
- 25. Installation php5-geoip nicht
- 26. Locale-Datumsformat in PHP5
- 27. Erweiterte OOP in PHP5?
- 28. OOP php5 Struktur
- 29. Machen Sie quoted_printable_encode() Arbeit an PHP4
- 30. Was ist mit diesem Code bricht PHP4?
Ich zufällig gerade diesen Beitrag an der Spitze der Google-Suchergebnisse zu sehen, wenn ich nach PHP4 vs PHP5 Passing Argumente zu Funktionsverhalten gesucht. [Das PHP-Handbuch] (http://php.net/manual/en/functions.arguments.php) sagt etwas anderes; passing by copy (Übergabe nach Kopie) ist _still_ der Standardwert. –