PHP5 ohne PHP4-Kompatibilität

PHP5 ohne PHP4-Kompatibilität

Dies ist die entgegengesetzte Frage vonDieses hier. Mein Ziel ist, dass es nicht notwendig ist, PHP4-Kompatibilität zu haben, wenn Sie nur PHP5-Code schreiben. Das ist überhaupt nicht hilfreich und aufgrund der Unterschiede zwischen den Objektmodellen in diesen beiden Versionen muss es die Leistung des Interpreters beeinträchtigen (oder liege ich falsch?).

Meine Fragen sind also:

  • ist es möglich, PHP5 ohne Rückkompatibilität mit PHP4 neu zu kompilieren oder es auf andere Weise zu deaktivieren, um die Leistung zu steigern?
  • Wenn dies nicht möglich ist, gibt es irgendwo ein Projekt, das dieses Ziel verfolgt?

Antwort1

Das ist nicht möglich, weil es nicht nötig ist; alles (außer einemkleine Stückzahl) in PHP4 ist im Grunde eine Teilmenge von PHP5. Die PHP-Entwickler mussten also keinen separaten „Kompatibilitätsmodus“ erstellen, damit PHP5 PHP4-Code ausführen konnte. Es ist ungefähr so, als würde die NBA plötzlich die Größe eines Basketballkorbs ändern, sodass er 2 Zoll im Durchmesser größer wäre, er aber trotzdem automatisch'rückwärtskompatibel'mit vorhandenen Basketbällen.

Alles, was in PHP5 entfernt werden sollte, war in PHP4 bereits veraltet, daher sollten richtig geschriebene PHP4-Skripte mit nur geringfügigen Änderungen in PHP5 einwandfrei laufen. Die größten „Verluste“ neben den veralteten PHP3-Funktionen sind Erweiterungen, die in einer Standardinstallation von PHP5 nicht mehr enthalten sind.

Und das neue Objektmodell hat das alte von PHP4 ersetzt, aber abgesehen von den Änderungen bei den Kopiereigenschaften von Objekten liegen die Unterschiede zwischen den Objektmodellen hauptsächlich in der Implementierung. Daher funktionieren die meisten PHP4-Skripte wahrscheinlich mit nur geringfügigen Änderungen auch in PHP5. Und es gibt keine explizite Abwärtskompatibilitätsfunktion, die deaktiviert werden kann.

Dies ist also kein Optimierungsbereich, über den man sich Gedanken machen sollte. Sie würden mehr erreichen, wenn Sie Ihren PHP5-Code optimieren und verwendenMemcachedoderAPC. Und wenn Sie PHP dazu bringen wollen, die Verwendung von veraltetem Code abzulehnen (um Ihren Codezukunftssicherund nicht als Serveroptimierung), dann verwenden Sie einfach die E_STRICTEinstellung zur Fehlerberichterstattung.

verwandte Informationen