Menü

PHP 7.4 erscheint: Was Entwickler davon halten

Schon lange erscheint immer Ende November ein neues Release der Skriptsprache. Das neue PHP 7.4 nimmt jedoch eine Sonderstellung ein.

Lesezeit: 4 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 74 Beiträge
Von

PHP 7.4, das am heutigen Donnerstag erscheint, ist mehr als nur ein Punktrelease, wie es vielleicht auf den ersten Blick den Anschein hat. heise Developer hat deswegen einige bekannte PHP-Entwickler um ihre Meinung zur Bedeutung der neuen Programmiersprachenversion und zu den für sie wichtigsten neuen Features gefragt.

Sebastian Bergmann

Sebastian Bergmann, Entwickler des verbreiteten Testframworks PHPUnit, macht den Anfang: "Mir sind zwei Neuerungen von PHP 7.4 besonders wichtig, und zwar eine Erweiterung der Syntax und eine in der Laufzeitumgebung. Zum einen bietet das neue Release die Option, den Typ von Klassenattributen zu deklarieren. Das erschließt einen weiteren weißen Fleck auf der Landkarte des PHP-Typsystems. Die verbleibenden weißen Flecken werden hoffentlich in Zukunft unter anderem durch Generics geschlossen.

Zum anderen wird das Preloading das seit PHP 5.0 bekannte Autoloading hoffentlich schon bald ablösen. Dieser neue Ansatz zum Laden von Klassen, Interfaces und Traits erlaubt es PHP, nicht nur den Bytecode im Speicher zu halten, wie das bereits schon lange mit einem Bytecode-Cache möglich ist. Dank Preloading sind diese Code-Einheiten nun direkt zu Beginn der Programmausführung verfügbar: Bei der ersten Verwendung einer Klasse muss also nicht mehr der Kontext der Ausführung in den Autoloader wechseln, eine Fallunterscheidung machen und entweder Quelltext laden und kompilieren oder Bytecode aus dem Cache holen, bevor es mit der Ausführung weitergeht. Preloading wird die Art, wie PHP-Anwendungen deployt werden, ändern und für eine spürbare Verbesserung der Performance sorgen."

Arne Blankerts

Seine Kollege und Mitgründer von The PHP Consulting Company, Arne Blankerts, schätzt das neue Release folgendermaßen ein: "Wie es bei PHP ja schon fast Tradition ist, werden teils große oder zumindest großartige Neuerungen gerne in ein Minor Release versteckt. Und so ist für mich das 7.4-Release deutlich wichtiger und spannender, als die Versionsnummer suggerieren mag. Zumal es auch zeigt, wie stark und schnell sich PHP immer noch weiter entwickelt, obwohl so oft das Ende der Sprache beschworen wurde.

Sprachlich gefällt mir vor allem, dass man endlich eine erweiterte Unterstützung von Co- und Contravarianz implementiert hat. Fast genauso wichtig für Fans strenger Typisierung ist die – wie immer optionale – Unterstützung typisierter Attribute. Fehlt eigentlich nur noch, dass es typsichere Listen gibt. Weniger eine Neuerung der Sprache aber für die Runtime sehr spannend ist, dass man dank Preloading zur Laufzeit keinen unnötigen I/O und Compile-Schritt zum Nachladen von Quellcode mehr braucht. Das hat zwar auch ein paar spannende Nebenwirkungen für das Deployment, aber erlaubt weitere Optimierungen des Bytecodes und macht die ebenfalls neue Funktionen der FFIs (Foreign Function Interfaces) in der Praxis einsetzbar."

Ralf Eggert

Ralf Eggert, bekannt als Autor mehrerer Bücher zum Zend Framework, freut sich sehr über das neue Release, obgleich er als Geschäftsführer von Travello noch einige Projekte betreut, die sich nicht sofort auf PHP 7.4 umstellen lassen: "Mit der Version kommt das spannende Kapitel, das vor einigen Jahren mit PHP 7.0 begonnen wurde, zu einem schönen Abschluss. PHP war ja aufgrund der Performance, Inkonsistenzen und fehlenden Features stark in die Kritik geraten. In der Zeit entschied sich Facebook auch für einen Fork, und mal wieder wurde der nahe Untergang von PHP prophezeit. Von HHVM und Hack redet heute kaum noch jemand, der Support vieler Open-Source-Projekte wurde schon längst eingestellt.

Mit PHP 7.4 erreicht die Sprache nun eine weitere Stufe. Mit den Typed Properties wird einer der letzten großen Lücken in Sachen Typsicherheit geschlossen. Das hatte mir in den letzten Jahren noch gefehlt. Ein weiterer Grund, warum ich PHP 7.4 freudig empfange, ist der Abschluss des 7er-Release-Zweigs. Denn nun ist die Bahn frei für PHP 8, das durch die JIT-Compiler einen weiteren Performanceschub mit sich bringen wird."

Marc Grotholtmann

Marc Gotholtmann, Ausrichter der PHP.RUHR-Konferenz, an der heise Developer dieses Jahr konzeptionell involviert war, äußert sich zwiegespalten: "Für mich sind FFI und OPcache Preloading die interessantesten neuen Features, wobei ich mir bei FFI noch nicht sicher bin, ob es Fluch oder Segen ist – vermutlich beides. Preloading ist zumindest aus Performancesicht spannend."

Stefan Priebsch

Stefan Priebsch, Mitgründer und Principal Consultant von The PHP Consulting Company, bläst in ein ähnliches Horn: "PHP 7.4 ist ein weiterer Meilenstein auf dem Weg in Richtung PHP 8, in dem weitere Altlasten aus der Sprache entfernt werden, und bringt einige wesentliche Neuerungen, die PHP noch besser für den Unternehmenseinsatz positionieren. Außerdem zeigt das Release von PHP 7.4, dass das PHP-Projekt nun schon seit mehreren Jahren einen stabilen und verlässlichen Release-Zyklus einhält, was eine wichtige Voraussetzung für eine schnelle Verbreitung von neuen Versionen ist.

Für mich sind die wichtigste Neuerung für den normalen Programmierer die Typed Properties, die sozusagen die letzte Lücke auf dem Weg zu einer (optional) stark typisierten Sprache schließen. Unter der Haube sind vermutlich FFIs am wichtigsten, mit denen man direkt Aufrufe in C-Libraries ausführen kann, weil damit potenziell in Zukunft das Schreiben von PHP-Erweiterungen deutlich vereinfacht werden kann. Preloading hat zudem einiges an Potenzial, die Performance in verschiedenen Szenarien zu steigern, gerade wenn man mit komplexeren Frameworks oder Applikationen arbeitet. Es wird aber Auswirkungen auf die Art und Weise haben, wie Deployments gemacht werden, daher müssen wir mal sehen, wie das Feature im Feld eingesetzt und akzeptiert wird."

Michelangelo van Dam

Michaelangelo van Dam, der die PHPBenelux User Group leitet, äußert sich schließlich wie folgt: "Meine Vision für PHP 7.4 ist, dass die Sprache immer ausgereifter wird und über besser integrierte Steuerelemente verfügt, um saubereren, performanteren und lesbareren Code zu schreiben. PHP 7.4 wird die letzte Nebenversion der 7er-Reihe sein und hat bereits enorme Auswirkungen auf die Community, zumal jetzt auch Funktionen in PHP als veraltet markiert wurden, die nur seltsam oder verwirrend sind, wie verschachtelte ternäre Anweisungen und geschweifte Klammern für den Array-/String-Zugriff sowie das Entfernen von "echten" Typen.

Mein Lieblingsfeature in PHP 7.4 ist das Hinzufügen von argon2i und argon2id für Situationen, in denen libargon nicht verfügbar ist oder nicht in PHP kompiliert wurde. Dies gibt nun den meisten meiner PHP-Anwendungen die Möglichkeit, ihre Passwort-Hashing-Funktionen wirklich zu aktualisieren. Doch unabhängig davon ist eines sicher: Anwender müssen ein Upgrade auf PHP 7.4 durchführen und sich ein Jahr Zeit lassen, um alle Warnungen und neuen Hinweise zu beheben, bevor PHP 8 herauskommt. Wer die Veröffentlichung von Version 8 verschiebt, ist bereits zu spät, um auf dem neuesten Stand zu bleiben, und die technischen Schulden häufen sich weiter an." (ane)