PHP 8.3 im ETES-Webhosting
Cloud Services von Katharina Weidlich
Bereits seit dem offiziellen Veröffentlichungstag von PHP 8.3, dem 23.11.2023 steht diese Version unseren Webhosting-Kunden zur Verfügung. PHP 8.3 ist ein wichtiges Update der PHP-Sprache und umfasst mehrere neue Features, wie z.B. die dynamische Zugriffsmöglichkeit auf Klassenkonstanten, eine json_validate()-Funktion zur JSON-Validierung, das #[\Override]-Attribut für die Überprüfung von Methoden in Elternklassen und Aktualisierungen der Zip-Erweiterungen als auch neue Optionen für PHP-Sockets. Natürlich wurde auch die Performance optimiert und verschiedene Fehler behoben.
Folgende Funktionen wurden im Detail optimiert:
- Typisierte Klassenkonstanten
- Dynamische Zugriffsmöglichkeiten auf Klassenkonstanten
- Neues #[\Override]-Attribute Durch Hinzufügen des Attributs #[\Override] zu einer Methode stellt PHP sicher, dass eine Methode mit demselben Namen in einer übergeordneten Klasse oder in einer implementierten Schnittstelle existiert. Das Hinzufügen des Attributs macht deutlich, dass das Überschreiben einer übergeordneten Methode beabsichtigt ist, und vereinfacht das Refactoring, da das Entfernen einer überschriebenen übergeordneten Methode erkannt wird.
- Deep-cConing der readonly-Eigenschaften readonly-Eigenschaften können jetzt einmal innerhalb der magischen __clone-Methode geändert werden, um das Deep-Cloning von readonly-Eigenschaften zu ermöglichen.
- Neue json_validate()-Funktion json_validate() ermöglicht die Überprüfung, ob ein String syntaktisch gültiges JSON ist, und ist dabei effizienter als json_decode().
- Neue Randomizer::getBytesFromString()-Methode Die in PHP 8.2 hinzugefügte Random-Erweiterung wurde um eine neue Methode zur Erzeugung zufälliger Strings erweitert, die nur aus bestimmten Bytes bestehen. Diese Methode ermöglicht es dem Entwickler, auf einfache Weise zufällige Bezeichner, wie z. B. Domainnamen, und numerische Strings beliebiger Länge zu erzeugen.
- Neue Randomizer::getFloat()- und Randomizer::nextFloat()-Methoden Aufgrund der begrenzten Genauigkeit und der impliziten Rundung von Fließkommazahlen ist die Erzeugung einer unverzerrten Fließkommazahl, die innerhalb eines bestimmten Intervalls liegt, nicht trivial, und die üblicherweise verwendeten Userland-Lösungen können verzerrte Ergebnisse oder Zahlen außerhalb des gewünschten Bereichs erzeugen. Weitere Informationen finden Sie hier. (Link: https://dl.acm.org/doi/10.1145/3503512)
- Kommandozeilen-Linter unterstützt mehrere Dateien Der Kommandozeilen-Linter akzeptiert jetzt variable Eingaben für Dateinamen, die er linted.
Weitere geänderte Klassen, Interfaces und Funktionen finden Sie hier (Link). Wie in den vorangegangenen Versionen von PHP können ETES-Webhosting Kunden PHP 8.3 bequem über den Kundenlogin oder über eine Kontaktaufnahme mit dem Support aktivieren. Für weitere Fragen, bspw. zur Kompatibilität Ihres eingesetzten Content Management Systems (CMS), stehen wir Ihnen gerne zu Ihrer Verfügung.