Diese Veränderungen kommen nach dem End of Life von PHP 7
Wenn du dich noch einmal genauer mit PHP beschäftigen möchtest, kannst du hier nachlesen, was PHP eigentlich ist und wie es verwendet wird. Mehr Informationen zur Migration von PHP 81. auf PHP 8.2, findest du auch direkt bei PHP. Aus unserem Support-Team haben wir das Feedback bekommen, dass es bei der Umstellung von PHP aktuell immer wieder zu Problemen kommt, da nicht alle Plugins mit der neuen PHP-Version kompatibel sind! Hier können wir euch auch nochmal empfehlen, eure Plugins regelmäßig zu aktualisieren, um Problemen und Fehlern vorzubeugen.
Jetzt gibt es hier aber die interessantesten und wichtigsten Updates zum neuen Release im Überblick.
1. Was ist eigentlich ein Minor Release?
Das Minor Release ist sozusagen ein kleines Update mit zwischen den großen Hauptversionen. Es bleibt aber genauso wichtig, um wiederkehrende Fehler regelmäßig einzudämmen und die Benutzerfreundlichkeit beibehalten zu können.
2. PHP 8.2 – diese Neuerungen werden erwartet
Diese Konferenz stellt das PHP Best Practices in den Vordergrund, bei dem die Performance, Lean PHP, Frameworks und vieles mehr bis hin zur Sicherheit getestet und diskutiert werden. Dabei werden bei kritischen Punkten auch Lösungen, die sich in der Praxis von PHP bewährt haben, diskutiert und vorgeführt.
Diese Änderungen werden unter anderem mit dem neuen PHP 8.2 Update eingeführt
Neue Funktionen
- Erlaubt null und false als eigenständige Typen
- Unterstützung der Schwärzung sensibler Parameterwerte
- Neue Funktion openssl_cipher_key_length
- Neue INI-Einstellung error_log_mode zum Festlegen der Berechtigungen für die Fehlerprotokolldatei
- OpenSSL: Neue Funktion openssl_cipher_key_length
- Neue Funktion curl_upkeep
- Neue Funktion ini_parse_quantity
- Neue Funktion memory_reset_peak_usage
Änderungen der Funktionalität
- INI-Parsing-Warnungen
- ksort(…, SORT_REGULAR) ändert die ändert Sortierreihenfolge
Veraltete Eigenschaften
- Mbstring: Base64-, Uuencode-, QPrint- und HTML-Entity-Kodierungen sind veraltet
3. PHP 8.2 – Verbesserung der Random Extension
Allerdings gibt es bei PHP 8.2 durch die Zufallserweiterung keine Möglichkeit mehr, diese zu deaktivieren, da die Zufallserweiterung mit PHP gebündelt und es somit keine Konfigurationsoption zur Kompilier- oder Laufzeit mehr gibt.
Nach Angaben von PHP wurden einige Veränderungen an der bestehenden Funktionalität der Zufallsgenerierung vorgenommen, die nun keine Probleme mehr mit der Rückwärtskompatibilität zwischen den bestehenden PHP-Versionen verursachen sollten.
💡 Einfach erklärt bedeutet das, dass Zufallszahlen nun sehr viel mehr zufällig und schneller erstellt werden.
Adrians Einschätzung zum PHP 8.2 Release
PHP 8.2 bietet mehr neue Funktionen als bestehende, die deaktiviert wurden. Daher ist der Wechsel von PHP 8.2 auf das neue System auch mit deutlich weniger Arbeit verbunden, als seinerzeit der Switch von PHP 7 auf PHP 8. Insgesamt handelt es sich hierbei eher um ein evolutionäre Verbesserung, als um eine revolutionäre Veränderung. Lasst uns gespannt sein, was die nächsten Updates an Veränderungen mit sich bringen.
4. Neue mysql Funktionen und Methoden für PHP 8.2
Mit dem neuen Update auf PHP 8.2 gibt es auch eine Erweiterung mit der neuen Funktionen “mysqli_execute_query” und der Methode “mysqli::execute_query”. Diese bieten nun einen einfacheren Ansatz zum Vorbereiten, Binden, Ausführen und Abrufen von Ergebnissen einer SQL-Anfrage.
Die beiden neuen Funktionen akzeptieren eine SQL-Abfrage, diese wird vorbereitet, gebunden und innerhalb der Funktion ausgeführt. Bei einer erfolgreichen Abfrage wird ein “mysqli_result-Objekt” oder ein “false” zurückgegeben, sofern eine Abfrage nicht erfolgreich war.
In vereinfachter Form sind die „mysqli_execute_query“ und „mysqli::execute_query“ also Abkürzungen für die Aufrufe mysqli::prepare(), mysqli_stmt::bind_param(), mysqli_stmt::execute und mysqli_stmt::get_result().
💡 Einfach erklärt bedeutet das, dass es bei einem PHP Update, mit einem veralteten Plugin, zu Fehlern bei der Verbindung zur Datenbank kommen kann. Gleichzeitig kann das neue mysqli Webseitenaufrufe bei Online-Shops wie WooCommerce deutlich schneller machen.
5. Veraltet für PHP 8.2 – utf8_encode und utf8_decode
Die beiden Funktionen werden zur Konvertierung von Zeichenketten zwischen den Kodierungen ISO-8859-1 (auch bekannt als „Latin 1“) und UTF-8 verwendet. Diese versuchen allerdings nicht, die Zeichenkodierungen des vorhandenen Textes zu erkennen, sondern konvertieren immer zwischen ISO-8859-1 und UTF-8, auch wenn der Quelltext nicht in ISO-8859-1 vorhanden ist.
💡 Einfach erklärt
Häufige Beispiele von Fehlern kann unter anderem die Darstellung des Euro-Zeichens („€“) sein, wenn dieses als utf8_encode an die Funktion utf8_encode übergeben wird und in der Textausgabe als “⬔ ausgespielt wird.
Genauso das deutsche Eszett-Zeichen („ß“) wenn es durch utf8_encode übergeben wird, wird dieses als “Ô dargestellt.
Die fehlerhafte Verwendung der Funktionen „utf8_encode“ und „utf8_decode“ wird im Update zu PHP 8.2 mit einem Verwerfungshinweis versehen und im neuen Update zu PHP 9.0 schließlich entfernt.
6. Fazit
Wir sind schon jetzt ganz gespannt auf die PHP Major Version 9.0, die voraussichtlich 2023 veröffentlicht wird.