PHP 8 – Erweiterte Funktionen und Features

Insights und Einschätzung zur aktuellen PHP-Version von Marco, Senior Developer bei diva-e

PHP kommt bei diva-e in vielfältigen Projekten zum Einsatz und wird zur Entwicklung innovativer und zukunftsfähiger E-Commerce-Lösungen im B2B und B2C genutzt. Die aktuelle Version PHP bietet dafür intelligente und hilfreiche Features. Sie erleichtern Programmierer:innen das Tagesgeschäft und wurden bereits eingehend von Portalen wie stitcher.io und PHP Watch getestet. Unser Entwickler Marco hat seine Erfahrungen für den Beitrag zusammengefasst.

PHP 8 – Erweiterte Funktionen und Features

JIT-Compiler
Eine der Funktionen, die vor dem Release mit großer Spannung erwartet worden war, ist der JIT (Just-in-Time) Compiler. Dieser übersetzt bestimmte Teile des Codes in Maschinencode. Dadurch kann die Leistung gesteigert sowie die Speicherkapazität verringert werden. Allerdings ist dieses Feature vor allem für CPU-fokussierte, statische Anwendungen und für import- oder rechenintensive Prozesse von Vorteil, weniger für Web-Requests.

Attributes
Ein weiteres wichtiges Feature betrifft die Attribute, auch Annotationen genannt. Damit können relevante Metainformationen zur Deklaration von bspw. Klassen, Funktionen oder Methoden hinterlegt und nativ zur Verfügung gestellt werden. Sie ersetzen damit die Docblock Comments und vereinfachen das Parsen von Annotationen.
Named Arguments
Die sogenannten Named Arguments stellen ebenso eine Erleichterung bei der Programmierung dar. Vor dem Update war stets die Reihenfolge von Parametern für Funktionen oder Methoden relevant. Das kann jetzt einfacher gestaltet werden, da Werte in beliebiger Reihenfolge übergeben werden können. Bei großen und komplexen Funktions- oder Methodensignaturen mit vielen optionalen Parametern kann auf diese Weise vereinheitlicht werden. Allerdings ist hier zu beachten, dass das Ausführungsverhalten mit PHP 8 und früheren Versionen unterschiedlich sein kann. Da die Reihenfolge bei PHP durch Named Parameters keine Rolle mehr spielt, ist mit Nebeneffekten zu rechnen.
Constructor Property Promotions
Die in PHP 8 eingeführten Constructor Property Promotions ersparen bei der Definition von Value Objects zukünftig einige Zeit, indem sie die Property Deklaration vereinfachen. diva-e Entwickler Marco schätzt das als wichtige und hilfreiche Neuerung im Update ein: „Constructor Promoting ist ein schönes Feature, weil es viel unnötige Schreibarbeit vereinfacht und zum Teil Fehler umgegangen werden können.“


Hinzu kommt eine Vielzahl weiterer kleiner Funktionen, wie beispielsweise die Union Types, die es erlauben, in der Signatur einer Methode mehrere Typen zu definieren, die erwartet werden. Match Expressions vereinheitlichen komplexe Switch-Konstrukte und gestalten diese kompakter und einfacher.


Keep in Mind
Bei allen neuen Features bleibt dennoch zu beachten, ob und wie sie sich im Tagesgeschäft sinnvoll integrieren lassen. Häufig spielen noch andere Komponenten und Abhängigkeiten eine Rolle bei der Implementierung von Sprachfeatures. Technisch verkürzte Schreibweisen müssen auch von Entwickler:innen gelesen und der Code gewartet werden können. Umfassende Dokumentation und Erklärungen können dem Team dabei helfen. Für eine reibungslose Migration von Bestandsprojekten in PHP 8 empfiehlt Marco den PHP Codesniffer und Tools wie beispielsweise Psalm. Diese zeigen bereits vor der Migration potenzielle Problemstellen. Migrationen können dadurch besser geplant und Anpassungen in der aktuellen Codebasis durchgeführt werden.


Du begeisterst dich für die vielfältigen Features von PHP und möchtest dich bei diva-e entwickeln und ausprobieren? Dann wirf jetzt einen Blick auf unsere aktuellen Stellenanzeigen!