PHP: Symfony 5.2 unterstützt die neuen PHP-8-Attribute

Neben einer Vielzahl neuer Features bringt die aktuelle Version des PHP-Frameworks eine große Farbauswahl für die Konsole und ermöglicht Pseudolokalisierung.

In Pocket speichern vorlesen Druckansicht

(Bild: Denis Azarenko, gemeinfrei (Creative Commons CC0))

Lesezeit: 3 Min.
Von
  • Madeleine Domogalla
Inhaltsverzeichnis

SensioLabs hat eine neue Version des PHP-Frameworks Symfony veröffentlicht. Symfony 5.2 hält einige neue Features bereit, darunter mehr Farben für die Konsole und Unterstützung für die mit PHP 8 eingeführten Attribute. Darüber hinaus möchte das Entwicklerteam hinter dem Framework mit der aktuellen Version Entwicklerinnen und Entwicklern bei der Lokalisierung von Anwendungen helfen.

Das Übersetzen von Anwendungen in andere Sprachen sorgt beispielsweise bei der Darstellung der einzelnen Punkte im Hauptmenü für Probleme, da manche Menüpunkte in anderen Sprachen mehr oder weniger Zeichen verlangen. Problematisch sind komplexe Buchstaben mit Akzentzeichen, wie sie beispielsweise im Polnischen oder im Tschechischen zu finden sind. Das Entwicklerteam hinter Symfony geht mit der aktuellen Version diese Probleme an und liefert eine Möglichkeit zur Pseudolokalisierung, eine Software-Testmethode, die zum Testen der Internationalisierung zum Einsatz kommt.

Diese Methode ersetzt die Textelemente einer Anwendung durch eine geänderte Version der Originalsprache, anstatt den Text der Software in eine Fremdsprache zu übersetzen. Beispielsweise werden Menüpunkte mit [!!! !!!] und komplexeren Akzentzeichen angereichert: Account Settings wird zu [!!! Àççôûñţ Šéţţîñĝš !!!]. Auf diese Weise lassen sich Anwendungen auf Lesbarkeit und den Umgang mit allen Arten von Akzent- und Sonderzeichen testen.

Die Console-Komponente des Frameworks bot bisher ein Standard-Styling für Command-Ausgaben. Auch benutzerdefinierte Stile und Farben waren möglich, begrenzt auf acht ANSI-Grundfarben für Text- und Hintergrundfarben. Symfony 5.2 bringt Unterstützung für 24-Bit-Farben, auch "True Colors" genannt. Damit stehen Entwicklerinnen und Entwicklern offenbar mehr als 16 Millionen verschiedene Farben für die Konsole zur Verfügung, die auf hexadezimalen Farben basieren. Sie lassen sich über die Shotcuts fg und bg aktivieren. Hexadezimale Farben müssen das Präfix # enthalten und können nur drei oder sechs Zeichen lang sein. Das folgende Beispiel aus dem Symfony-Blog dient der Veranschaulichung:

// using a predefined style
$output->writeln('<info>... contents ...</>');

// custom style using basic colors
$output->writeln('<fg=green;bg=blue>... contents ...</>');

// custom style using true colors
$output->writeln('<fg=#00ff00;bg=#00f>... contents ...</>');

Mit dem Update unterstützt das PHP-Framework Attribute – eines der größeren Features von PHP 8 – zur Definition von Routen und Abhängigkeiten. Das Team hinter PHP hat Attribute in die Programmiersprache PHP eingeführt, mit denen sich Metadaten für Codeeinheiten direkt in die Deklaration einbetten lassen. Das Konzept ist von Java und C# bekannt (Annotationen in Java, Attribute in C#). Mangels echter Syntax für Metadaten haben bislang Frameworks (wie Symfony), Bibliotheken (wie Doctrine) und Werkzeuge (wie PHPUnit) Metadaten aus Kommentarblöcken strukturiert aufgeschlossen und über Pseudosprachen zugänglich gemacht.

Weiterführende Informationen zur Minor-Version finden sich in den Release Notes. Darüber hinaus stellt SensioLabs auf dem Symfony-Blog eine Sammlung an Beiträgen über die einzelnen neuen Features der 5.2-Version zur Verfügung.

(mdo)