Symfony 2.7 mit einem Turbo für Twig
Kommentare

Es ist ja schon eine Tradition geworden, dass man im Hause Sensio vor dem Release einer neuen Version des Open-Source-Frameworks Symfony einen detaillierten Blick auf einige der Neuerungen wirft.

So auch bei Version 2.7, die einige spannende Neuerungen rund um die Template-Engine Twig mitbringt. Die wird nämlich zum „First-Class Citizen“ und benötigt künftig keinen Abstraktionslayer mehr.

Twig in Symfony 2.7

Bisher war es so, dass man in Symfony die freie Wahl zwischen Twig und PHP als Template-Sprache hatte; Twig hatte sich jedoch schnell als Quasi-Standard durchgesetzt. Dennoch war es bisher nicht möglich, Twig direkt zu nutzen, viel mehr war ein Umweg über das Templating-Sub-System hinter dem Service templating nötig, mit dem sowohl PHP als auch Twig angesprochen werden konnte. Das soll sich in Zukunft ändern:

For Symfony 3.0, I’d like to extract the Templating Component into an independent library (for the few people using PHP with Symfony) but I’d also like for Twig to be front and center in the framework.

In Symfony 2.7 ist der größte Teil des Wegs zu diesem Ziel bereits gegangen. So ist es möglich, die templating-Konfiguration wegzulassen, Twig direkt anzusprechen und ein paar Zeilen Code zu sparen.

Des einen Freud …

Der Wegfall des Kompatibilitätslayers hat natürlich einige Vorteile. Zum einen verringert sich die Komplexität des Frameworks und des Codes drastisch. Zum anderen bedeutet das natürlich auch einen enormen Performance-Schub, wie der eigens bei Blackfire.io eingerichtete Performance-Vergleich belegt.

Auf der anderen Seite hat dieses Vorgehen momentan noch einige Nachteile. So ist der Profiler beispielsweise nicht mehr in der Lage, die Renderzeit der Templates anzuzeigen. Außerdem sind Shortcuts für Klassen wie render() oder renderResponse() nicht mehr verfügbar.

Diese – und einige andere Kleinigkeiten – sollen allerdings in den nächsten Wochen angegangen und gelöst werden. Weitere Hintergrundinformationen findet man in der Ankündigung Twig as a First-Class Citizen.

Twig 1.17.0

Darüber hinaus gibt es auch ein Update für Twig zu vermelden. Twig 1.17.0 enthält eine neue Autoescaping-Strategie mit dem Namen „filename“, die anhand des Dateinamens erkennt, um welche Art von Datei es sich handelt und das entsprechende Escaping anwendet. Unterstützt werden aktuell Text-, HTML-, JavaScript- und CSS-Dateien.

Aufmacherbild: Jet engine. Isolated. von Shutterstock / Urheberrecht: Kirill__M

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -