PHP 8.6 – Die wichtigsten Änderungen im Überblick

image

PHP 8.6 wird voraussichtlich im November 2026 veröffentlicht und führt die 8.x-Reihe fort. Im Fokus stehen kompaktere Closures durch Partial Function Application, mehr Flexibilität bei readonly-Eigenschaften sowie praktische neue Bausteine wie clamp() und die Duration-Klasse für Zeitspannen.


Partial Function Application (PFA)

PHP 8.6 führt Partial Function Application ein: Mit dem ?-Platzhalter lassen sich Closures mit vorausgefüllten Parametern erstellen, ohne dafür eine anonyme Funktion von Hand zu schreiben.

Beispiel:

$makeSlug = str_replace(' ', '-', ?);
$makeSlug('Hello World'); // 'Hello-World'

Besonders praktisch in Kombination mit dem Pipe-Operator aus PHP 8.5, wenn eine Funktion nur einen offenen Parameter benötigt.

Readonly Property Defaults

Bisher durften readonly-Eigenschaften keinen Standardwert besitzen. PHP 8.6 erlaubt das jetzt – besonders nützlich in Kombination mit Property Hooks auf Interfaces.

public readonly string $name = '2026-01-01_create_books_table';

Neue clamp()-Funktion

Die neue clamp()-Funktion begrenzt einen Wert auf einen definierten Bereich, ohne dass eigene min/max-Verschachtelungen nötig sind. Sie funktioniert mit Zahlen, Strings und DateTime-Objekten.

clamp(10, min: 0, max: 100);    // 10
clamp(101, min: 0, max: 100);   // 100

Duration-Klasse und neue Polling-API

Die neue Klasse Time\Duration kapselt Zeitspannen lesbar und typsicher, etwa für Wartezeiten oder Retry-Logik:

sleep(Duration::fromMilliseconds(500));
$delay = $baseDelay->multiplyBy(2 ** $attempt);

Ergänzend dazu ermöglicht der neue Namespace Io\Poll effizientes I/O-Multiplexing mit automatischer Backend-Auswahl (epoll, WSAPoll) – ein Baustein für Event-Loop- und Async-Bibliotheken.

Reflection- und Dokumentations-Verbesserungen

PHP 8.6 erweitert die Reflection-API und die Möglichkeiten zur Code-Dokumentation:

isReadable() und isWriteable():
Scope-abhängige Prüfung auf ReflectionProperty

getDocComment() auf ReflectionParameter:
Doc-Kommentare lassen sich jetzt direkt an Parametern auslesen

function store(
    /** @param Book[] */ array $books,
): void { }

Erhöhte Session-Sicherheit

Mehrere Session-Einstellungen erhalten sicherere Standardwerte:

session.use_strict_mode=1:
Verhindert die Annahme nicht initialisierter Session-IDs

session.cookie_httponly=1:
Schützt Session-Cookies vor Zugriff durch JavaScript

session.cookie_samesite=Lax:
Reduziert das Risiko von CSRF-Angriffen

Bestehende Anwendungen sollten ihre Session-Konfiguration vor dem Umstieg prüfen, falls sie sich bisher auf die alten Defaults verlassen haben.

Weitere Änderungen und Abwertungen (Deprecations)

Zusätzlich bringt PHP 8.6 kleinere, aber relevante Anpassungen:

  • Das SortDirection-Enum (Ascending/Descending) standardisiert Sortierrichtungen framework-übergreifend

  • Enums unterstützen jetzt __debugInfo() für eigene Debug-Ausgaben

  • return-Anweisungen in finally-Blöcken werden als Deprecation markiert

  • Reservierte Bezeichner wie let, is und namespace als Funktions- oder Konstantennamen werden abgewertet

  • Veraltete Typprüf-Funktionen wie is_double() und is_integer() gelten als deprecated

  • Zahlreiche ältere Reflection- und SPL-Methoden sind zur Entfernung in künftigen Versionen vorgesehen

Es lohnt sich, Code frühzeitig mit aktivierten Deprecation-Warnungen zu testen.


Fazit

PHP 8.6 setzt den pragmatischen Kurs der letzten Releases fort. Partial Function Application und die erlaubten Defaults auf readonly-Eigenschaften machen alltäglichen Code kompakter, während clamp() und die Duration-Klasse wiederkehrende Hilfsfunktionen überflüssig machen. Die verschärften Session-Defaults erhöhen zudem die Sicherheit bestehender Anwendungen, ohne dass Entwickler aktiv etwas ändern müssen.

Wer produktive Projekte betreut, sollte frühzeitig mit Testumgebungen auf PHP 8.6 prüfen, Deprecation-Hinweise beachten und Bibliotheken auf Kompatibilität beobachten.

eazyCode Logo Die eazyCode Software GmbH unterstützt Unternehmen bei der sicheren Aktualisierung bestehender Systeme, der Modernisierung von Anwendungen und der Einführung aktueller PHP-Versionen. Dabei stehen saubere Code-Migration, Performance-Optimierung und langfristige Wartbarkeit im Mittelpunkt.

Kostenloses Erstgespräch – unverbindlich

Ihr Projekt verdient einen ehrlichen Partner.

Schildern Sie uns Ihre Anforderungen – wir melden uns innerhalb von 24 Stunden mit einer ersten Einschätzung. Kein Verkaufsgespräch, kein Kleingedrucktes.

Telefon

Mo–Fr, 9–17 Uhr. Wir sind direkt erreichbar.

+49 (0) 9072 922022 - 0
Termin vereinbaren

30 Minuten. Online. Kostenlos und unverbindlich.

Termin vereinbaren

Schreiben Sie uns – wir antworten innerhalb von 24 Stunden.