PHP-Framework: Beta von Symfony 5.2 unterstützt Attribute von PHP 8

Die Beta des verbreiteten PHP-Frameworks unterstützt außerdem Doctrine-Typen und ermöglicht es Nutzern, Aufrufe des HTTP-Clients automatisiert zu wiederholen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
PHP-Framework: Erste Beta von Symfony 5.2
Lesezeit: 3 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

Vier Monate nach Erscheinen der letzten Minor-Version des verbreiteten PHP-Frameworks zum Erstellen komplexer Webseiten hat SensioLabs die erste Beta der Nachfolgerin veröffentlicht: Neu enthalten in der Beta von Symfony 5.2 sind die Attribute von PHP 8, die synonym auch als Annotationen bezeichnet werden.

Diese Metadaten in der Codestruktur dienen der maschinellen Dokumentation bei zunehmend komplexeren Bibliotheken, und mit ihnen lassen sich laut Blogeintrag Routen und notwendige Abhängigkeiten organisieren. Neben Union Types und Match Expressions dürften sie in der für Ende November angekündigten neuen großen PHP-Version die Programmiersprache strukturell umkrempeln. Das PHP-Framework Symfony trägt der bevorstehenden größeren Neuerung offenbar Rechnung. Entwicklern, die bereits Annotations einsetzen, dürfte die Änderung vertraut vorkommen. Symfony 5.2 unterstützt nun auch Doctrine-Typen für UUID und ULID. Die Integration der UID-Komponenten war in Version 5.1 neu und hat seither Überarbeitung erfahren. Zum Verwenden der neuen Typen uuid, uuid_binary, ulid und ulid_binarymüssen Entwickler in ihrer Symfony-Anwendung zunächst Doctrine installieren.

Doctrine-Typen für UUIDs und ULIDs sind neu in der ersten Beta von Symfony 5.2

(Bild: SensioLabs)

Das PHP-Framework erhält in der finalen Version einen überarbeiteten HTTP-Client mit einem optionalen Feature, durch das Entwickler nach gescheiterten Verbindungsversuchen die Anfrage automatisch wiederholen lassen können. Diese Funktionalität greift laut Eintrag im Symfony-Blog Entwicklerwünsche auf, da es in der Vergangenheit durch Netzwerkfehler und Serverprobleme offenbar häufig zu Verbindungsproblemen kam. Mit dem Befehl retry_failed soll sich im laufende Betrieb des HTTP-Clients innerhalb von Symfony das Feature aktivieren und konfigurieren lassen.

Konfiguration der Parameter für den Retriable HTTP Client in Symfony 5.2 (Beta1)

(Bild: SensioLabs)

Insgesamt führen die Release Notes eine Auswahl von fast 200 neuen Features auf, um die das Symfony-Team das Framework in den letzten vier Monaten erweitert hat. Die Neuerungen betreffen unter anderem den Validator, die Sicherheitseinstellungen, den Notifier, den Messenger und den HTTP Client sowie die HTTP-Grundlagen, aber auch die Bridge zu Doctrine, einige Abhängigkeiten und das Framework als Ganzes. Eine schlaglichthafte Auswahl: Comparison Constraints lassen sich nun als Attribute nutzen, die Schreibweise .jpg ist nun gegenüber .jpeg bevorzugt, im Sicherheitsbereich gibt es eine neue Authentifizierungsmöglichkeit namens Magic Log-in, in FormDataPart sind nun mehrere Parts mit demselben Namen zulässig.

Symfony 5.2 soll die künftigen Attribute von PHP 8 unterstützen, diese dürften Nutzern von Annotations vertraut erscheinen

(Bild: SensioLabs)

Die ChatMessage-Übertragung kann auf Null gesetzt werden, und für Funktionstests sind Checkbox-Assertions ergänzt. Im HTTP-Kernel gibt es als Erweiterung einen Auto-register-Kernel, im MoneyType und PercentType ist eine Option für "html5" hinzugekommen. Ein offenbar falsches Interface für MongoDB ist repariert, und das Entwicklerteam hat einen SwitchUserTokenProcessor zum Logging des Impersonators ergänzt. Einige Public Services gelten ab Version 5.2 als deprecated (veraltet).

Weitere Details lassen sich den Release Notes zur ersten Beta im Symfony-Blog entnehmen. Zur in Symfony 5.2 neuen UID-Serialiserung und -Validierung existiert ein eigenständiger Blogeintrag, Gleiches gilt für den HTTP Client mit Wahlwiederholung und die bereits unterstützten künftigen Attribute von PHP 8. Auch zu den Doctrine-Typen für UUID und ULID können Interessierte ihr Wissen in einem separaten Blogeintrag vertiefen. Um die Entwicklungslinie der Version 5.x nachzuvollziehen, lohnt sich auch ein Blick zurück auf die Veröffentlichung der Versionen ab 5.0, die grundsätzliche Änderungen im Framework eingeläutet haben.

(sih)