Da Template-Engines diverse Vorteile bieten, werden diese in der modernen Webentwicklung häufig eingesetzt. Doch was sind Template-Engines überhaupt und wie werden diese benutzt? In diesem Artikel werde ich euch einen kurzen Überblick über das Thema geben und euch ein Anwendungsbeispiel dafür vorstellen.

Was ist eine Template Engine?

Template-Engines werden dazu eingesetzt, Arbeitsprozesse zu teilen und aus Vorlagen, sogenannten Templates, Internetseiten zu generieren. Möglich wird das durch Platzhalter in der Template-Datei welche variable Werte annehmen können. Dadurch können diese Platzhalten mit generischen und aktuellen Inhalten gefüllt werden. Jedoch können die meisten Template-Engines noch mehr als nur Platzhalter austauschen. Es können Schleifen geschrieben werden oder bedingte Anweisungen implementiert werden. Dadurch können mit wenig Zeilen Code zum Beispiel etliche Produkte aus einer Datenbank ausgelesen werden oder ein bestimmter Bereich einer Webseite nur geladen werden, wenn eine bestimmte Variable gesetzt ist.

Ein Beispiel einer solchen Template-Engine ist Smarty. Smarty basiert auf der weit verbreiteten Scriptsprache PHP und wird in diversen Webseiten eingesetzt. Im Folgenden wird die Verwendung von Smarty dargelegt. Im ersten Schritt wird eine PHP-Variable dem Objekt Smarty zugewiesen nachdem dieses instanziiert wurde. Die zugewiesene Variable kann ein Array oder ein String sein und zuvor zum Beispiel aus einer Datenbank gelesen worden sein (siehe Abbildung 1).

Abbildung 2: Ausgabe einer Variablen mit Smarty

Nachdem die Variable in PHP zugewiesen wurde, ist diese im Template verfügbar und kann als HTML ausgegeben werden (siehe Abbildung 12: Ausgabe einer Variablen mit Smarty). Hierbei sind die zuvor angesprochenen Platzhalter mit einer geschweiften Klammer für den späteren Interpreter markiert.

Abbildung 2: Ausgabe einer Variablen mit Smarty

Angenommen, der Variablen „firstname“ wurde der Wert „Max“ und der Variablen „lastname“ der Wert „Mustermann“ zugewiesen: Das Ergebnis des Aufrufs von Abbildung 2 würde dann wie folgt aussehen (siehe Abbildung 13: Ergebnis der Templateausgabe).

Abbildung 3: Ergebnis der Template-Ausgabe

 

Fazit:

Die Verwendung einer Template-Engine bringt diverse Vorteile mit sich. Die wichtigsten sind die Trennung von Logik und Darstellung. Dadurch wird nicht nur eine Arbeitstrennung zwischen Backend-Entwickler und Frontend-Entwickler möglich, sondern auch die Sicherheit der Applikation verbessert. Da ein Frontend-Entwickler nun nichtmehr im Backend arbeitet, kann er auch keine sicherheitsrelevanten Fehler mehr begehen. Er ist nun einzig für die Darstellung der Daten verantwortlich. Ein weiterer Vorteil ist die einfache Änderung von Weblayouts. Es muss im Code nichtmehr, oder nur noch sehr begrenzt zwischen Logik und Darstellung unterscheiden werden, wodurch Änderungen viel weniger Aufwand mit sich bringen. Aus diesen Gründen empfehle ich euch für das nächste Webprojekt die Verwendung einer solchen Template-Engine. Es benötig zwar anfangs etwas Einarbeitungszeit, jedoch erspart es in der Summe mehr Zeit als dadurch verloren geht.

Ein weiteres Beispiel für eine Template Engine ist Twig.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.