HTML, PHP und Smarty

(Last Updated On: 21. Oktober 2007)

Für die meisten die schon mit PHP gearbeitet haben ist es wahrscheinlich nichts neues, aber trotzdem möchte ich kurz auf die Vorteile der Trennung von Applikations-Logik und Design/Ausgabe hinweisen.
Da PHP ja direkt in HTML bzw. XHTML-Dateien verwendet werden kann, entsteht oft sehr schnell ein unübersichtliches Konvult an gemischten Code. Eine saubere Trennung in CSS, HTML, PHP, JS ist mit Smarty leicht zu erreichen, dabei hat die Template-Engine für PHP noch andere Vorteile.
Zum Beispiel die Kompilierung der Templates. Smarty liest die Template-Dateien und generiert daraus neue PHP-Skripte; von da an werden nur noch diese Skripte verwendet. Deshalb müssen Templates nicht für jeden Seitenaufruf performance-intensiv neu geparst werden und jedes Template kann voll von PHP Compiler-Cache Lösungen profitieren, siehe auch Zend bzw. PHP Accelerator
Applikation und Design wird getrennt, dazu ein Zitat von Smarty.

Nehmen wir zum Beispiel eine Webseite die Zeitungsartikel ausgibt. Der Titel, die Einführung, der Author und der Inhalt selbst enthalten keine Informationen darüber wie sie dargestellt werden sollen. Also werden sie von der Applikation an Smarty übergeben, damit der Designer in den Templates mit einer Kombination von HTML- und Template-Tags die Ausgabe (Tabellen, Hintergrundfarben, Schriftgrössen, Stylesheets, etc.) gestalten kann. Falls nun die Applikation eines Tages angepasst werden muss, ist dies für den Designer nicht von Belang, da die Inhalte immer noch genau gleich übergeben werden. Genauso kann der Designer die Ausgabe der Daten beliebig verändern, ohne dass eine Änderung der Applikation vorgenommen werden muss. Somit können der Programmierer die Applikations-Logik und der Designer die Ausgabe frei anpassen, ohne sich dabei in die Quere zu kommen.

Weiter geht es in der Doku mit:
Was Smarty nicht kann: Smarty versucht nicht die gesamte Logik aus dem Template zu verbannen. Solange die verwendete Logik ausschließlich für die Ausgabe verwendet wird, kann sie auch im Template eingebettet werden. Ein Tip: versuchen Sie Applikations-Logik aus dem Template und Präsentations-Logik aus der Applikation herauszuhalten. Nur so bleibt die Applikation auf absehbere Zeit gut skalier- und wartbar.
Quelle: Smarty
Empfehlung: Forum

(483)


History

Ein Gedanke zu „HTML, PHP und Smarty“

Schreibe einen Kommentar

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