Sara Golemon zur Skriptsprache PHP 8: Die neuen Deprecations sind größere Hürde

Die PHP-Community schaut gespannt auf den 26. November, denn dann erscheint die neue Hauptversion. Was sagt Release-Managerin Sara Golemon zu PHP 8?

In Pocket speichern vorlesen Druckansicht 57 Kommentare lesen

(Bild: Shutterstock/lapandr)

Lesezeit: 3 Min.
Von
  • Madeleine Domogalla

Am morgigen Donnerstag wird die achte Hauptversion der Programmiersprache PHP veröffentlicht. Passend dazu veranstaltet heise Developer die betterCode() PHP 8, eine Eintagesveranstaltung zum Release. Im Vorfeld hat sich Sara Golemon, Release-Managerin für PHP 8 und Speakerin des Online-Events, zur neuen Version und zu den für sie wichtigsten Features geäußert. "On top" gibt sie ein paar Tipps und Tricks für den Umgang mit PHP 8.

Expertenmeinungen zu PHP 8
Sara Golemon ist Release-Managerin für PHP 8

Als Release-Managerin für PHP 8, 7.2 und 7.1 gehört Sara Golemon zum Kern des Entwicklerteams der Programmiersprache. Sie ist seit 2002 maßgeblich an der Weiterentwicklung der PHP Language Runtime, der Websites und Dokumentationen beteiligt. Darüber hinaus arbeitet sie als Server Security Engineer bei MongoDB.

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

Sara Golemon: Ehrlich gesagt muss ich jedes Mal, wenn mir diese Frage gestellt wird, nachschauen, welche Features kommen werden. Als PHP Internal Developer lebe ich in einem etwas anderen Universum. Die "neuen Features" von PHP beschäftigen mich schon seit einigen Monaten, wenn nicht sogar seit einem Jahr oder länger. Da ist es schwer, sich zu erinnern, was für die PHP-Community neu ist. Ich freue mich sehr über die Einführung von Union Types. Das ist ein großer Schritt für umfangreiche Anwendungen, bei denen Datenintegrität eine wichtige Rolle spielt.

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

Golemon: Es ist einfach, den neuen JIT-Compiler als wichtigste Neuerung für eine neue Hauptversion zu betrachten. Aber die größeren Auswirkungen für Nutzer ergeben sich aus den neuen Deprecations und dem Entfernen ausgewählter APIs sowie Sprachfunktionen, die der Sprache lange Zeit vorenthalten wurden. Dadurch dass Fehlern eine höhere Bedeutung zukommt und sie als Exceptions bereitgestellt werden, soll PHP-Code ohne Lasten für die Performance zuverlässiger und sicherer werden. Wir machen das während eines größeren Versionssprungs, um ein klares Signal zu geben, und zwar im Einklang mit der semantischen Versionierung (Semver).

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

Golemon: Named Arguments sind eines der riskanteren Features, die mit PHP 8 eingeführt werden, da sie den Entwicklern von Bibliotheken einen impliziten Vertrag auferlegen. Die bisher nur internen Namen von Funktions- und Methodenparametern werden nun zu einer offenen API für PHP-Entwickler. Wenn Bibliotheken als fertig für PHP 8 bereit erklärt werden, ohne dass ihre Variablennamen überprüft wurden, könnte es unangenehm werden, und man sollte sich daran machen, diese zu ändern.

Mehr zu PHP 8

betterCode() präsentiert: PHP 8 – das Online-Event am 26. November 2020

Das können Sie lernen:

  • PHP 8 ist da, und jetzt?
  • Was kann der neue JIT-Compiler?
  • Wie funktioniert das Typsystem von PHP 8?
  • Syntax Highlights: Was können die neuen Attribute?
  • Vor- und Nachteile von Metaprogrammierung
  • Migration auf PHP 8: Wie kriege ich meinen Code fit?
  • Behind the Scenes: Wie wird PHP heute entwickelt?
  • Praxisnahe Beispiele und Hand-on-Infos von Experten

heise Developer: Tipps und Tricks: Wie sollten Entwickler mit der neuen Version umgehen?

Golemon: Bei jedem Upgrade einer Seite, die bereits unter PHP 7 läuft, sollte versucht werden, einen mit PHP 8 konfigurierten Testserver hochzufahren und den Datenverkehr von der Live-Version für eine Weile abzuschalten, um nach unerwarteten Fehlern im Log zu suchen. Wenn die Fehler an PHP liegen, sollten Entwickler sie so schnell wie möglich melden, damit wir sie anpassen können. Liegt das Problem darin, dass wir absichtlich an der Sprache geändert haben, gibt es normalerweise eine Möglichkeit, den Code so zu aktualisieren, dass er in beiden Versionen kompatibel ist. Sobald das Fehlerprotokoll klar ist, drücke den Auslöser!

(mdo)