Entwicklung & Code
PHP 8.5 setzt auf Lesbarkeit, Debugging-Features und mehr Sicherheit
Am 20. November 2025 soll PHP 8.5 offiziell erscheinen – jetzt liegt der erste Release Candidate vor. Die kommende Version konzentriert sich auf Verbesserungen bei der Lesbarkeit von Code, neuen Utility-Funktionen, erweiterten Debugging-Möglichkeiten sowie Detailverbesserungen in der Performance und Sicherheit.
Der Pipe-Operator bringt funktionale Muster
PHP 8.5 führt den neuen Pipe-Operator |>
ein. Entwicklerinnen und Entwickler können damit Funktionsaufrufe linear verketten, anstatt verschachtelte Strukturen zu schreiben. Das Beispiel aus dem RFC soll dies verdeutlichen:
function getUsers(): array {
return [
new User('root', isAdmin: true),
new User('john.doe', isAdmin: false),
];
}
function isAdmin(User $user): bool {
return $user->isAdmin;
}
// This is the new syntax.
$numberOfAdmins = getUsers()
|> (fn ($list) => array_filter($list, isAdmin(...)))
|> count(...);
var_dump($numberOfAdmins); // int(1);
Neue Array-Helferfunktionen
Mit array_first()
und array_last()
holen Developer den ersten oder letzten Wert eines Arrays, ohne den Array-Pointer zu verändern (siehe RFC):
function array_first(array $array): mixed {}
function array_last(array $array): mixed {}
Verbesserungen bei Fehlerbehandlung und Debugging
Die neuen Funktionen get_error_handler()
und get_exception_handler()
geben direkten Einblick in die aktiven Handler. PHP liefert außerdem bei fatalen Fehlern nun vollständige Stack-Traces und blendet sensible Parameter automatisch aus, wenn sie mit #[\SensitiveParameter]
markiert sind.
Weniger Boilerplate mit Final Property Promotion
PHP 8.5 erlaubt es, im Rahmen der Constructor Property Promotion direkt Final Properties zu deklarieren (siehe RFC). Entwickler sparen damit Boilerplate-Code und definieren finale Properties genauso wie normale Properties im Constructor.
Neue Attribute und statische Closures
Das Attribut #[\NoDiscard]
warnt, wenn wichtige Rückgabewerte ungenutzt bleiben. Zudem unterstützt PHP jetzt statische Closures in Konstanten, Default-Parametern und Attributen.
Internationalisierung und neue Werkzeuge
Die Funktion locale_is_right_to_left()
erkennt Sprachen, die von rechts nach links gelesen werden. curl_multi_get_handles()
vereinfacht das Management von cURL-Multi-Handles. Mit der Konstante PHP_BUILD_DATE
und dem CLI-Befehl php --ini=diff
will das Entwicklerteam hinter der Programmiersprache Debugging und Auditing vereinfachen.
Release nach Plan
iX sprach mit Volker Dusch, Release Manager zu PHP 8.5, der bestätigte: „Die Timeline ist eingehalten, alle Feature-RFCs sind eingebaut und wie immer gut getestet.“ Bei einer von 46 Deprecations habe es Anpassungsbedarf für das PHP-Framework Symfony gegeben, wofür ein Follow-up-RFC erstellt worden sei – ein normaler Vorgang. Substanzielle Änderungen habe es seit den Betas nicht mehr gegeben. „Es gibt keine signifikanten Breaking Changes. Deprecations sind lediglich Hinweise auf künftige Anpassungen,“ so Dusch.
(Bild: nuevoimg / 123rf.com)
Am 25. November findet die betterCode() PHP statt, eine Online-Konferenz von iX und dpunkt.verlag in Kooperation mit thePHP.cc. Interessierte können sich in Vorträgen und Diskussionsrunden über die Programmiersprache informieren. Vergünstigte Tickets zum Early-Bird-Tarif sind über die Konferenz-Website erhältlich.
PHP 8.5 bringt keine Revolution, aber viele durchdachte Verbesserungen. Von schlankerem Code mit dem Pipe-Operator, über sicherere Fehlerbehandlung bis hin zu neuen Debugging-Werkzeugen richtet sich der Fokus klar auf die Developer Experience. Weitere Informationen zum Release finden sich auf GitHub oder auf php.net.
(mdo)