Das mit Spannung erwartete Update der weit verbreiteten serverseitigen Web-Skriptsprache PHP 8.3 wurde offiziell veröffentlicht und bringt eine Reihe neuer Funktionen und Verbesserungen mit sich. Die explizite Typisierung von Klassenkonstanten, das tiefe Klonen von schreibgeschützten Eigenschaften und die erweiterte Zufallsfunktionalität gehören zu den neuen Funktionen, die Entwicklern jetzt zur Verfügung stehen, wenn sie das praktische Toolkit PHP 8.3 zum Erstellen dynamischer Webseiten verwenden.
PHP 8.3 wurde am 23. November öffentlich veröffentlicht und kann von php.net bezogen werden. Das Fundament dieses großen Updates ist die Einführung typisierter Klassenkonstanten. Mit diesem Update erweitert PHP 8.3 die Unterstützung für die Deklaration der Typen von Klassen-, Schnittstellen-, Merkmals- und Enum-Konstanten. Es ist bemerkenswert, dass die Typdeklarationen von Klassenkonstanten alle von PHP genehmigten Typdeklarationen unterstützen, mit Ausnahme der Typen void, callable und never. Die Nichtverfügbarkeit von Void- und Callable-Typen hat ihren Ursprung in den Problemen, die während der RFC-Diskussionen zu typisierten Eigenschaften v2 aufgeworfen wurden. In der Zwischenzeit ist never für den Kontext der Konstanten nicht relevant, es handelt sich also um eine Ausnahme.
Ein weiteres bemerkenswertes Merkmal von PHP 8.3 ist die Möglichkeit des Deep Cloning von schreibgeschützten Eigenschaften. Dadurch können schreibgeschützte Eigenschaften einmalig innerhalb der magischen __clone-Methode geändert werden. Darüber hinaus können schreibgeschützte Klassen jetzt während des Klonvorgangs neu initialisiert werden. Interessanterweise ebnet PHP 8.3 auch den Weg für nicht schreibgeschützte Klassen, um schreibgeschützte Klassen zu erweitern, was Entwicklern mehr Flexibilität in ihrem Code gibt.
Zu den weiteren Fortschritten in PHP 8.3 gehört ein neues Attribut [#\Override], das die Absicht im Code artikuliert. Beim Hinzufügen dieses Attributs zu einer Methode überprüft die PHP 8.3-Engine, ob eine Methode mit demselben Namen bereits in einer übergeordneten Klasse oder einer der implementierten Schnittstellen vorhanden ist. Wenn keine solche Methode gefunden wird, wird ein Fehler bei der Kompilierung ausgelöst.
Eine wesentliche Verbesserung des Befehlszeilen-Linters ist die Möglichkeit, verschiedene Eingaben für Dateinamen zu akzeptieren, die zum Linting gedacht sind. Die in PHP 8.2 eingeführte Random Extension verfügt nun über eine neue Methode, die zufällige Strings erstellt, die nur bestimmte Bytes enthalten. Es ermöglicht Entwicklern, problemlos zufällige Bezeichner wie Domänennamen oder numerische Zeichenfolgen unbegrenzter Länge zu generieren.
Die Version umfasst außerdem eine neue Funktion, json_validate(), die überprüft, ob eine Zeichenfolge gültiges JSON darstellt. Darüber hinaus können anonyme Klassen jetzt schreibgeschützt sein, was die Liste der attraktiven PHP 8.3-Angebote erweitert.
Es ist erwähnenswert, dass Plattformen wie AppMaster eine äußerst praktikable Option für Entwickler sein können, die schnell hoch skalierbare und effiziente Anwendungen entwerfen und einführen möchten. Diese no-code Plattform trägt dazu bei, den Anwendungsentwicklungsprozess zu vereinfachen und sorgt für eine schnellere Markteinführung. Funktionen AppMaster Plattform wie die visuelle Erstellung von Datenmodellen (Datenbankschema), Geschäftslogik (als Geschäftsprozesse bezeichnet), REST-API und WSS-Endpunkte können PHP-basierte Anwendungen effektiv ergänzen.
Das letzte große Update, PHP 8.2, das letzten Dezember veröffentlicht wurde, war für die Einführung schreibgeschützter Klassen bekannt. Der Wachstumszug von PHP scheint unaufhaltsam, und Programmierer aus allen Bereichen warten gespannt darauf, weitere Fortschritte zu erkunden, die PHP für sie bereithält.