Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 9

Eine Einführung in die Smarty Template-Engine: Schichtentrennung leicht gemacht

    Eine Einführung in die Smarty Template-Engine: Schichtentrennung leicht gemacht

Nicht erst seit Frameworks wie Symfony oder CakePHP ist die Idee der Schichtentrennung in Webapplikationen ein Thema. Bereits seit langem bieten Template-Engines wie die Smarty-Engine die einfache Trennung von HTML-Markup und Anwendungslogik. Die Trennung bietet große Vorteile, vor allem dann, wenn mehrere Entwickler an einem Projekt beteiligt sind.

Template-Engines erlauben es, die Applikationslogik – also die eigentliche PHP-Programmierung – vom Design – sprich von der HTML-Ausgabe – strikt zu trennen. Sie bieten jedoch noch weitere Vorteile, wie einen schnelleren Seitenaufbau durch Caching oder – im Falle von Smarty – eine einfache und trotzdem mächtige Erweiterbarkeit durch eine durchdachte Plugin-Architektur.

Anwendungslogik vs. Präsentationslogik

Smarty versteht sich selbst als „kompilierende Template-Engine“. Dies bedeutet, dass auch im (HTML-)Template logische Konstrukte wie if-Blöcke oder sich wiederholende Abschnitte vorkommen können. Damit verstößt man aber nicht zwingend gegen die eigentliche Idee der Trennung von Logik und Design. Es bleibt Aufgabe der Entwickler, die Applikationslogik von einer Präsentationslogik zu unterscheiden. Als Beispiel werden wir in diesem kurzen Tutorial mit Smarty das Frontend eines klassischen Weblogs bauen. Wenn wir uns die „Detailansicht“ eines Blogeintrags vor Augen führen, so stehen unterhalb des eigentlichen Blog-Eintrags die zugehörigen Leserkommentare. Diese Kommentare sind vom Design und strukturell-semantischen Aufbau identisch und unterscheiden sich nur in den jeweiligen Inhalten (Autor, E-Mail, Kommentar). Es ist also sinnvoll, nur einen einzigen Kommentar in HTML und CSS zu gestalten und diesen dann entsprechend der Anzahl der Kommentare zu wiederholen. Wir werden später sehen, dass Smarty dies über eine foreach-Schleife im HTML-Template erledigt. Es handelt sich hier also um eine Präsentationslogik.

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden