PHP 8 im Experten-Check: "Der erwartete harte Bruch mit der Vergangenheit"

PHP-Experte Arne Blankerts über die für ihn wichtigsten Features der neuen Hauptversion der Programmiersprache.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 67 Beiträge

(Bild: Shutterstock/lapandr)

Von
  • Madeleine Domogalla

Am heutigen Donnerstag, 26. November 2020, erscheint die achte Hauptversion der Programmiersprache PHP. Im Rahmen der betterCode() PHP 8, dem Online-Event zum Release, hat heise Developer die Speaker um ihre Einschätzung gebeten. Neben Sara Golemon hat sich auch Arne Blankerts zu den für ihn wichtigsten Features von PHP 8 geäußert. Darüber hinaus macht er deutlich, an welchen Stellen er Probleme mit der neuen Hauptversion sieht.

Expertenmeinungen zu PHP 8
Arne Blankerts

Arne Blankerts ist Mitbegründer von The PHP Consulting Company (thePHP.cc) und hat schon vor Jahren IT-Lösungen geschaffen, die ihrer Zeit weit voraus waren. Er hilft, nachhaltige Software und maßgeschneiderte Infrastrukturen zu schaffen, und findet Sicherheitslücken mit fast magischer Intuition. In seiner Freizeit liest er Fantasy-Bücher und kocht gerne.

heise Developer: PHP 8 steht in den Startlöchern: Welche Neuerungen sind für dich besonders spannend und warum?

Arne Blankerts: Die beiden größten und augenscheinlichsten Neuerungen sind mit Sicherheit die Einführung des JIT-Compilers und die durch Benjamin Eberlei initiierten Attribute. Auch wenn ich die anfängliche Syntax für die Attribute ziemlich gruselig fand, haben wir jetzt glücklicherweise eine Rust-Style-Syntax, um zusätzliche Annotationen im Code anzugeben, deren Regeln, etwas vereinfacht formuliert, ebenfalls in Code spezifiziert sind. Ich bin gespannt, wie schnell diese Attribute die klassischen DocBlock-Annotationen ablösen können – und ob überhaupt. Eine erste Implementierung beispielsweise für PHPUnit ist bereits in Arbeit, und auch JetBrains, den meisten vermutlich als Hersteller der Entwicklungsumgebung PhpStorm bekannt, hat gerade ein Paket veröffentlicht, dass die von der IDE verstandenen Attribute für andere Projekte nutzbar macht.

Mich freuen aber vor allem auch vermeintliche Kleinigkeiten: Das neue match als quasi Alternative zum klassischen switch finde ich sehr spannend, und die hinzugekommene Unterstützung von mixed und union types wird sicherlich vieles einfacher machen – genauso wie der Null-Safe-Operator ?->. Wenngleich ich es ansonsten immer spannend finde, wie sich PHP aus anderen Sprachen und Ökosystemen Dinge herauspickt und übernimmt, die Unterstützung von Named Parametern und "constructor property promotion" sehe ich aktuell noch eher negativ. Mal schauen, ob sich meine Meinung hier noch ändert.

heise Developer: Welche Bedeutung hat die neue Hauptversion für die Community beziehungsweise die Programmiersprache an sich?

Blankerts: Neben der quasi schon obligatorischen Leistungssteigerung, vor allem dank des neuen JIT-Compilers, ist PHP 8 dieses Mal der erwartete harte Bruch mit der Vergangenheit. Zusammen mit der weiteren Abrundung des Typsystems und den erwähnten Attributen zeigt PHP aber auch, dass es eine durchaus modern aufgestellte Sprache mit eben einer schnellen und stabilen Laufzeitumgebung sowie einem zunehmend leistungsfähigeren Ökosystem ist.

Irgendwie herrscht in der PHP-Welt ja immer der Glaube vor, man müsste sich vor anderen, vermeintlich professionelleren Sprachen verstecken. Bei Licht betrachtet gibt es dafür aber – eigentlich seit Jahren – gar keinen Grund mehr. Ich finde, PHP 8 unterstreicht das einmal mehr sehr deutlich.

heise Developer: In welchem Bereich siehst du Probleme mit PHP 8?

Blankerts: Wenn man sich die Liste der Änderungen so ansieht, dann fällt vermutlich schnell auf, dass mit PHP 8.0 scheinbar unendlich viele Dinge entfernt und nur vergleichsweise wenige neue Features eingeführt werden. Das wird viele Projekte mit zum Teil sehr alter Codebasis vor gewaltige Probleme stellen. So hart gab es das, wenn überhaupt, zuletzt mit dem Wechsel von PHP 4 zu PHP 5.

Mehr von Arne Blankerts

Im Rahmen der betterCode() PHP 8 hält Arne Blankerts am 15. Dezember 2020 den Workshop "Der PHP Stack in 2021: Modern, Skalierbar und Flexibel". Teilnehmerinnen und Teilnehmer lernen, einen modernen und skalierbaren PHP-Stack aufzusetzen, diesen zu betreiben und passend auf verschiedene Anforderungen hin zu optimieren. Nähere Informationen finden sich auf der Webseite.

So hat beispielsweise ganz aktuell ein Kompatibilitäts-Report für das WordPress Projekt mehr oder weniger offen eingestanden, dass man nicht verlässlich sagen kann, ob und wann WordPress mit PHP 8 funktionieren wird. In jedem Fall aber wäre beziehungsweise wird es viel Arbeit. Hinzu kommt, dass gerade solche Projekte nur mäßig bis gar nicht von den Verbesserungen in PHP 8 profitieren: Die neuen syntaktischen Möglichkeiten kann man aus Kompatibilitätsgründen mit zum Teil ewig alten Versionen der Sprache nicht nutzen, und die Leistungssteigerung des JIT wird bedingt durch die bei Legacy-Anwendungen häufig gefundene Datenbankabhängigkeit fast gänzlich verpuffen, da PHP quasi nur schneller wartet.

(mdo)