Vor wenigen Wochen wurde die neue PHP-Version PHP 8.2 offiziell ausgerollt. In diesem Artikel wollen uns den neuen Features und Funktionen dieser Version widmen.
Inhaltsverzeichnis
Was ist PHP?
PHP steht für Personal Home Page Tools und ist eine der weltweit am meisten genutzten Scriptsprachen überhaupt. Da PHP zum Erstellen dynamischer Webinhalte verwendet wird, kommen all jene früher oder später damit in Berührung, die sich mit der Erstellung von Websites oder Content Management Systemen wie WordPress befassen.
Was ist die Besonderheit an PHP 8.2?
In regelmäßigen Abständen werden von der Zend Technologies Inc. neue PHP-Versionen veröffentlicht, während gleichzeitig die technische Unterstützung einer älteren Version eingestellt wird. Das heißt, man kann ältere Versionen zwar noch nutzen, geht damit aber ein gewisses Sicherheitsrisiko ein. Mit Updates und Security Updates versorgt werden immer nur drei Versionen, aktuell sind dies PHP 8.0, PHP 8.1 und PHP 8.2.
Die Besonderheit an PHP 8.2 sind diverse Verbesserungen und neue Funktionen, die wir dir nun etwas näher vorstellen möchten:
Neue eigenständige skalare Typen
PHP enthält bereits skalare Typen wie int, string und bool. Diese wurden in PHP 8.0 um sogenannte Union-Types erweitert, die es ermöglichen, dass Werte von verschiedenen Typen sein können. PHP 8.2 unterstützt künftig nicht nur den Unionstypen „false“, sondern auch sein Gegenstück „true“ als eigenständigen Typen. Beide sind Unionstypen des PHP-Typs „bool“.
Neue „readonly“ Klassen
Mit PHP 8.1 wurde die Funktion „readonly“ für Klasseneigenschaften eingeführt. PHP 8.2 legt noch eine Schippe drauf: Mit PHP 8.2 kann die gesamte Klasse als „readonly“ deklariert werden. Wenn du künftig eine Klasse als „readonly“ deklarierst, erben alle ihre Eigenschaften automatisch das „readonly“ Merkmal. Das heißt für dich: der Programmieraufwand reduziert sich erheblich, sobald du Klasseneigenschaften als „readonly“ deklarieren möchtest.
Sensible Parameter in Backtraces verbergen
Backtraces sind Daten zur Ablaufverfolgung. Auch PHP erstellt Backtraces, da sie zur Fehlerbehebung von Programmabstürzen hilfreich sein können. Früher konnte man sensible Daten wie Benutzerdaten und Passwörter in den Backtraces auslesen. Bei PHP 8.2 lassen sich sensible Daten aber durch das Attribut \SensitiveParameter verbergen. Wenn du alle sensiblen Daten verborgen hast, kannst du deine Backtraces ohne Sorge an Drittanbieter weiterleiten.
PHP 8.2 lässt Konstanten in Traits zu
Bis zur Version PHP 8.1 konnten in Traits nur Methoden und Eigenschaften, aber keine Konstanten definiert werden. Das ändert sich nun mit der Einführung von PHP 8.2. Nun können auch Konstanten in die Definition der zusammensetzenden Klasse integriert werden.
Neue Funktion „curl_upkeep“
Mit der in PHP 8.2 neu implementierten Funktion „curl_upkeep“ lässt sich die Funktion „curl_easy_upkeep()“ in libcurl aufrufen.
Neue Funktion mysqli_executive_query
Mit PHP 8.2 wird künftig auch das Ausführen von parametrisierten MySQLi-Abfragen wesentlich einfacher. Dazu kannst du künftig die neue Funktion „mysqli_execute_query($sql, $params)“ und die Methode „mysqli::execute_query“ verwenden. Erfolgreiche Abfragen erhalten ein „mysqli_result“ Objekt zurück, nicht erfolgreiche Abfragen erhalten ein „false“.
Fazit zu PHP 8.2
PHP 8.2 baut auf den massiven Verbesserungen der Versionen PHP 8.0 und PHP 8.1 auf. Die spannendsten Funktionen von PHP 8.2 sind die neuen eigenständigen Typen und die readonly classes, weil mit weniger Code das gleiche Ergebnis erreicht wird.