Lange war nicht bekannt, ob es ein PHP 8.4 überhaupt geben soll, doch jetzt ist klar: Ja, die wird es geben. Erscheinen soll das Update im November. Erste Informationen zu neuen Funktionen, Änderungen an der Sprache und Deprecations sind ebenfalls schon bekannt. Wobei da das letzte Wort bislang nicht gesprochen ist.
Auf der Seite PHP.watch ist eine erste Liste mit Änderungen zu sehen, auf die wir uns in PHP 8.4 freuen dürfen. Bislang sieht es aber so aus, als wenn die neue Version eher harmlos wird. Wenn wir uns an Version 8.2 erinnern, wo doch so einiger Code kaputtging, dann fühlen sich 8.3 und vermutlich auch 8.4 doch ziemlich unspektakulär an.
Neue Funktionen in PHP 8.4
Von dem, was bislang bekannt ist, dürfen wir uns wohl auf die neuen Ciphers AEGIS-128L
und AEGIS256
freuen. Weiterhin zeigt phpinfo()
künftig an, wie groß Integer-Zahlen sein dürfen. mbstring
bringt die neuen Funktionen mb_trim()
, mb_ltrim()
und mb_rtrim()
mit. Die round()
-Funktion bekommt neue Rundungsregeln und die DateTime
-Klasse soll künftig Daten von Timestamps ausgeben sowie dank Unterstützung von Mikrosekunden feiner auflösen können.
Änderungen an der Sprache
Hier wäre der Punkt, an dem Entwickler einen halben Blick schweifen lassen sollten – aber nur einen halben. Denn davon sollte unter normalen Umständen noch nichts kaputtgehen.
Beim Passwort-Hashing mit bcrypt
werden die Kosten von 10 auf 12 erhöht. Die Konstanten PHP_ZTS
und PHP_DEBUG
wurden von int
auf bool
geändert. Die INI-Einstellungen für den Opcache werden in Bezug auf den JIT-Compiler geändert und round()
wird künftig eine \ValueError
-Exception werden, wenn eine ungültige Rundungsregel angewandt werden soll.
Deprecations und entfernte Funktionen
Hier ist der Punkt, an dem PHP-Entwickler schon jetzt schauen können, ob die geplanten Änderungen Probleme mit vorhandenem Code verursachen. Bei CURL wird CURLOPT_BINARYTRANSFER
für deprecated erklärt. Entsprechend ist damit zu rechnen, der Modus in einer kommenden Version nicht mehr zur Verfügung steht.
Außerdem werden ein paar Erweiterungen, die bislang im Kernpaket von PHP enthalten waren, in Richtung PECL verschoben. Betroffen sind Pspell
, IMAP
, OCI8
und PDO-OCI
.
PHP 8.4 im November erwartet
Im PHP-Wiki ist eine Auflistung dessen, was für ein Release getan werden muss. Dort befinden sich auch ungefähre Zeitangaben, wann bestimmte Meilensteine erreicht sein sollen. Nach aktuellem Stand soll die erste Alpha-Version Anfang Juni erscheinen. Der Feature-Freeze soll ca. sechs Wochen später folgen. Die Veröffentlichung der fertigen Version für alle ist momentan für den 21. November 2024 vorgesehen.
Bislang alles relativ harmlos
Bislang scheinen die Änderungen wenig bis keine Gefahr für existierenden Code darzustellen. Die vier Erweiterungen, die entfernt werden, entfallen nicht ersatzlos und mit der binären Übertragung von CURL kann man vermutlich ebenfalls leben.