PHP 8.3 wird am 23. November 2023 aktualisiert. Es werden typisierte Klassenkonstanten, eine neue Hilfsfunktion für json_validate zum Überprüfen von JSON-Nutzlasten und einige kleinere Verbesserungen an der Randomizer-Klasse, der Lese-INI-Konfiguration usw. hinzugefügt.
Das PHP-Team wird Ende dieses Monats eine neue Nebenversion von PHP veröffentlichen. Die neue Version wird hauptsächlich Verbesserungen und Funktionen enthalten, die bis auf einige wenige für Endbenutzer nicht sehr relevant sein werden.
Typisierte Klassenkonstanten
Wir alle verwenden irgendwann Konstanten. Bisher wurde der Typ einer Konstante aus ihrem Wert abgeleitet. Dies bedeutet auch, dass die Möglichkeit, eine Klasse zu erben oder zu implementieren, den Typ ändern kann. Kurz gesagt wird die neue Funktionalität so aussehen:
class Foo { public int BAZ = 1; }
Validate JSON Payloads
In fast jeder Situation, in der JSON gelesen, konvertiert und geschrieben werden muss, muss es zuerst validiert werden. Sie können eine „Testdekodierung“ durchführen, um zu sehen, ob eine Ausnahme ausgelöst wird, oder einfach einen else-Zweig für ungültige Nutzlastfälle festlegen.
Für kleinere Nutzlasten mag das in Ordnung sein, aber einen sehr großen JSON-String in ein Array zu dekodieren, nur um zu überprüfen, ob er gültig ist, ist nicht elegant. Darüber hinaus kann es zu Speicher- und/oder Leistungsproblemen kommen.
Die neue Funktion json_validate verspricht zu überprüfen, ob eine bestimmte Zeichenfolge gültiges JSON ist, und ist leistungsfähiger und speichereffizienter. Wie unten gezeigt:
json_validate(string $json, int $depth = 512, int $flags = 0): bool
Weitere Verbesserungen
Wie gesagt, es gibt weitere Verbesserungen in der kommenden PHP 8.3-Version. Da ich persönlich sie nicht für wichtig halte, möchte ich sie hier nur der Vollständigkeit halber erwähnen.
Randomizer-Verbesserungen: Kleine Verbesserungen, wie z. B. die Angabe eines Bereichs für zufällige Gleitkommawerte oder die Definition der Stringlänge.
Schreibgeschützte Revision: Ermöglicht die Neuinitialisierung schreibgeschützter Eigenschaften beim Klonen. Dies scheint ein Randfall zu sein, kann aber für das tiefe Klonen wichtig sein.
#[Override]-Attribut: Dieses Attribut wird verwendet, um die „Absicht“ des Programmierers auszudrücken. Im Wesentlichen heißt es: „Ich weiß, dass diese Methode von der übergeordneten Klasse stammt und ich möchte sie überschreiben. Wenn sich dies ändert, lassen Sie es mich bitte wissen.“
Anonyme schreibgeschützte Klasse: Etwas selbsterklärend. Bisher gab es keine Möglichkeit, sie zu erstellen, jetzt führt PHP sie ein.
Erfassung dynamischer Klassenkonstanten: PHP ermöglicht die Verwendung von geschweiften Klammern zum Lesen dynamischer Klasseneigenschaften. Mit 8.3 ist es auch möglich, Konstanten auszulesen (im Ernst, tun Sie das nicht).
Statische Eigenschaften in Traits: Von der übergeordneten Klasse geerbte statische Eigenschaften werden neu deklariert. Persönlich ist es eine böse Mischung aus allem, was man in PHP machen kann. Warum? Hör zu.
Und mehr. Da ich persönlich der Meinung bin, dass sie nicht relevant sind, habe ich sie hier nicht aufgeführt. Eine vollständige Liste aller Änderungen finden Sie im offiziellen Migrationsleitfaden.
Fazit
Wie bei jeder neuen Version gibt es keine goldene Regel, die man befolgen muss, ob ein Update durchgeführt werden soll oder nicht. Wir empfehlen dringend, die neueste Version zu verwenden, da diese häufig Fehler und Fehler in früheren Versionen behebt und eine bessere Leistung und Funktionalität bietet.
Das obige ist der detaillierte Inhalt vonEine neue Version von PHP 8.3 steht kurz vor der Veröffentlichung: ein Überblick über neue Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!