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.

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);


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 {}


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.

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.

Das Attribut #[\NoDiscard] warnt, wenn wichtige Rückgabewerte ungenutzt bleiben. Zudem unterstützt PHP jetzt statische Closures in Konstanten, Default-Parametern und Attributen.

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.

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)



Source link

Beliebt

Die mobile Version verlassen