Twig für Themes in Drupal 8
Kommentare

Die Template Engine Twig wird wahrscheinlich optionaler Bestandteil von Drupal 8. Fabien Potencier hatte bereits im März gezeigt, dass Symfony und Drupal 8 eng miteinander verbunden sein werden. Nun wurde

Die Template Engine Twig wird wahrscheinlich optionaler Bestandteil von Drupal 8. Fabien Potencier hatte bereits im März gezeigt, dass Symfony und Drupal 8 eng miteinander verbunden sein werden. Nun wurde offiziell bekanntgegeben, dass insbesondere Drupals Theme-System dank Twig sicherer gestaltet werden wird.

Denn die bisher etablierte Variante war mit großen Sicherheitsrisiken verbunden. So sagte John Albin auf der DrupalCon in Denver: „Wir geben Theme-Erstellern eine geladene Waffe und sagen ihnen, dass sie damit einen Nagel in die Wand schlagen sollen. Und ach ja: Seid vorsichtig!“. So kam es immer wieder vor, dass sie sich dabei ins Bein geschossen haben – sei es in Form von kritischen Fehlern oder Sicherheitslücken. Dies soll dank Twig sicherer werden.

Jetzt stellte sich die Frage, warum man überhaupt eine Template Engine verwenden soll, wenn man das auch mit PHPs Bordmitteln bewerkstelligen kann. Wenn man Twig anstelle von PHP als Template Engine verwendet, greift man lediglich auf eine Tag-basierte Syntax zurück, womit dem Themer das Erlernen von PHP erspart bleibt und er grundsätzlich nichts falsch machen kann. Die gesamte Ausgabe-Logik, etwa zum Erstellen von sicheren HTML-Forms, bleibt im Code dahinter erhalten, sodass neue Sicherheitslücken vermieden werden. Sollten doch welche bekannt werden, können diese über ein einheitliches Update von Twig behoben werden.

Die Vorteile von Twig erstrecken sich weiter: Viele IDEs kennen die Template Engine. Das Know-how des Symfony-Umfeldes wird in die Drupal-Entwicklung eingebunden, da Twig und das PHP-Framework Symfony (beides Entwicklungen von Fabien Potencier) schon lange Hand in Hand zusammenarbeiten.

Zum Nachteil könnte die steile Lernkurve geraten, da Drupal-Theme-Entwickler die Twig-Syntax komplett neu erlernen müssen. Auch zweifelhaft ist, wie sich die Unterschiede der Update-Zyklen von Twig und Drupal langfristig auf Sicherheit und Kompatibilität auswirken werden.

Für Drupal 7 gibt es übrigens auch schon experimentelle Twig-Extensions: Twig for Drupal dient als Theme Engine und Twig template engine als Input Filter.

Mit der Integration von Twig in Drupal bewegen sich Symfony und Drupal um einen weiteren Schritt aufeinander zu. Wir werden den Prozess gespannt verfolgen und Euch auf dem Laufenden halten.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -