PHP 8.4: Neue Funktionen, Änderungen und sicherer Upgrade-Check
PHP 8.4 ist eine bedeutende PHP-Version mit Funktionen für klareren Code, stärkere Zugriffskontrolle und moderne APIs. Ein Upgrade darf jedoch nicht ohne Kompatibilitätstests als sicher gelten.
Wichtige neue Funktionen
Property Hooks
Property Hooks definieren get- und set-Logik direkt an einer Eigenschaft und reduzieren wiederholte Getter/Setter.
class User {
public string $name {
set => trim($value);
}
}
Asymmetrische Sichtbarkeit
Eine Eigenschaft kann unterschiedliche Sichtbarkeit zum Lesen und Schreiben besitzen.
class Order {
public private(set) string $status = 'pending';
}
Attribut #[Deprecated]
Funktionen, Methoden und Konstanten lassen sich standardisiert als deprecated markieren, sodass IDEs und Analysewerkzeuge warnen können.
Neue Array-Funktionen
array_find(), array_find_key(), array_any() und array_all() vereinfachen typische Such- und Prüfaufgaben.
Lazy Objects und API-Verbesserungen
PHP 8.4 bietet ein offizielles Lazy-Object-API für Frameworks und Dependency Injection. Hinzu kommen DOM-Verbesserungen mit HTML5, ein BCMath-Object-API, treiberspezifische PDO-Unterklassen und vereinfachte Methodenaufrufe nach new.
Änderungen für Entwickler
Bestehende Anwendungen müssen die neue Syntax nicht sofort verwenden. Vor dem Einsatz ist zu prüfen, ob Production PHP 8.4 nutzt und ob ältere PHP-Versionen weiterhin unterstützt werden müssen.
Deprecations und Kompatibilität
Implizit nullable Parameter sollten ausdrücklich mit ?Type oder Type|null deklariert werden. Auch E_STRICT, mysqli_ping() und trigger_error(..., E_USER_ERROR) sind deprecated. Eine Warnung ist nicht immer sofort fatal, weist aber auf künftig zu ändernden Code hin.
Vor dem Upgrade
- Aktuelle PHP-Version, Extensions, INI-Werte und Jobs dokumentieren.
- Vollständiges Datei- und Datenbank-Backup erstellen und Restore prüfen.
- Produktionsnahes Staging aufbauen.
- Anwendung, WordPress, WooCommerce, Plugins und Themes zuerst aktualisieren.
- Vendor- und Composer-Anforderungen prüfen.
- Vorherige PHP-Version und Rollback dokumentieren.
WordPress und WooCommerce
Kompatibler WordPress Core garantiert nicht die Kompatibilität aller Plugins und Themes. Bei WooCommerce sind Katalog, Warenkorb, Checkout, Payment Callbacks, E-Mails, Scheduled Actions und Integrationen zu testen.
Tests auf Staging
- Baseline erfassen.
- PHP nur auf Staging ändern.
- Frontend, Admin, Login, Formulare, Uploads, Cron und APIs testen.
- Logs auf Fatal Errors, Warnungen und Deprecations prüfen.
- Geschäftskritische Abläufe sowie Performance und TTFB vergleichen.
- Production erst nach erfolgreichem Test in einem kontrollierten Wartungsfenster umstellen.
Rollback
Bei Fehlern die vorige PHP-Version wiederherstellen und bei Code- oder Datenänderungen das geprüfte Backup verwenden. Danach Caches leeren und Frontend, Admin, Checkout und Logs erneut kontrollieren.