PHP 8.3 in allen Tarifen verfügbar
Wir freuen uns, das neue Jahr mit einer Neuerung für alle Kunden, die PHP nutzen zu beginnen: PHP 8.3 ist ab sofort bei uns in allen Tarifen verfügbar.
Die aktuelle Version von PHP bringt wieder zahlreiche Neuerungen mit, die v.a. die Sicherheit und Lesbarkeit von Code verbessern sollen; darunter auch einige Änderungen an der Kompatibilität und veraltete Eigenschaften. Ende November ist PHP in der Version 8.3 erschienen und hat vor 2 Wochen das erste Minor-Update 8.3.1 erhalten. Einigen VPS-Kunden stand bereits im Dezember die neue Version im Zuge eines Serverwechsels früher zur Verfügung.
PHP 8.3 Neuerungen – Auswahl
Eine Auswahl der Änderungen in PHP 8.3:
– Typed Class Constants: Für Klassenkonstanten kann nun explizit der Datentyp deklariert werden. Ziel ist es, den Code sicherer und vorhersehbarer zu machen, da Typfehler zur Kompilierzeit erkannt werden.
– PHP 8.3 bringt eine bedeutende Neuerung in der Handhabung von Klassenkonstanten und Enum-Member: die Unterstützung für dynamisches Abrufen. Der Wert einer Klassenkonstante oder eines Enum-Members kann nun direkt mit einer Variablen abferufen werden.
– Neue Funktion json_validate() – um das Validieren von JSON-Strings zu vereinfachen. Bislang musste dies in der json_decode() Funktion erfolgen.
– Anonyme Klassen können nun ‘readonly’ sein. Readonly kann nun auch in der “__clone” Methode gesetzt werden.
– Das Übergeben eines ungültigen Strings an unserialize() hat in früheren PHP-Versionen i.d.R. eine E_NOTICE ausgelöst. Mit PHP 8.3 wird dies hochgestuft und ein E_WARNING ausgelöst.
– Auch array_sum() und array_product() wurden aktualisiert, um bestimmte Werte besser zu behandeln und E_WARNING für nicht verwendbare Werte auszulösen.
PHP 8.3 führt neue Funktionen und Methoden ein, die das Arbeiten mit Zufallszahlen und -daten (“Random”) erleichtern.
– Neue Funktion: mb_str_pad() – Eine Erweiterung der bestehenden str_pad() Funktion für Multibyte-Zeichenketten. Nützlich für Anwendungen, die mit verschiedenen Sprachen und Zeichensätzen arbeiten.
– Das #[\Override] Attribut – Dieses Attribut zeigt die Absicht eines Entwicklers an, eine Methode einer übergeordneten Klasse zu überschreiben. Ziel ist die Verbessererung der Lesbarkeit und Sicherheit des Codes.
– Neue Methoden getFloat() und nextFloat()
– Neue getBytesFromString() Methode
Die vollständige Liste der technischen Änderungen findet ihr auf der offiziellen Seite: https://wiki.php.net/rfc#php_83 / https://www.php.net/releases/8.3/en.php
PHP 8.3 wird aktiv weiterentwickelt und erhält für knapp 2 Jahre vollen Support sowie Updates; danach noch für 1 Jahr sicherheitsrelevante Updates.
PHP < 8.2
Alle früheren Versionen von PHP vor der Version 8.2 erhalten übrigens keinerlei Funktions-Updates mehr. Auch bei PHP 8.1 endete am 25. November 2023 der offizielle Support und es werden nur noch Sicherheitsupdates ausgespielt.
Wir empfehlen allen Kunden, die noch PHP 7.4 oder älter einsetzen, eine Umstellung auf eine Version von PHP 8 zu prüfen und anzupeilen. Im besten Fall mind. direkt auf PHP 8.1
Die Umstellung der Version im Control-Panel kann mittels Auswahlmenü erfolgen. Bei Problemen kann die Version wieder zurückgestellt werden bis die zugrundeliegenden Fehler in der Software behoben wurden.
Sofern möglich, sollte immer die aktuell von der Anwendung unterstützte PHP-Version eingesetzt werden. Je aktueller die verwendete PHP-Version ist, desto höher ist in der Regel auch das Leistungspotenzial und die Sicherheit der Anwendung. Eine Übersicht aller noch weiterentwickelten PHP-Versionen inkl. regelmäßig aktualisierter Zeitleiste: https://www.php.net/supported-versions.php
Kompatibilität und Tipps zur Umstellung
Die meisten CMS, Shop- und Blog-Systeme unterstützen bereits die neue Version. Zumindest in Ihrer Standardinstallation, denn Erweiterungen (=Plugins) haben noch Probleme und sind auf die neue Version nur teilweise oder noch gar nicht umgestellt. Da die neue Version aber auf der Basis von PHP 8.0 und 8.2 aufbaut, ist sie grundsätzlich damit natürlich kompatibel und beliebte und weit verbreitete Erweiterungen haben auch in der Vergangenheit relativ zügig evtl. Fehler mit einer neuen PHP-Version beseitigt.
Vor einer Umstellung auf eine andere PHP-Version empfiehlt es sich, sicherheitshalber ein Backup zu erstellen. Mit einer Kopie der Live-Seite (sog. Staging) ist ein Test einer anderen PHP-Update noch einfacher und wirkt sich nicht auf den Livebetrieb aus.
Offizieller Migrationsguide von PHP 8.2 auf PHP 8.3 :
https://www.php.net/manual/de/migration83.php