Kapitel 1. Was ist Smarty?
Smarty ist eine Template-Engine für PHP. Genauer gesagt
erlaubt es die einfache Trennung von Applikations-Logik und
Design/Ausgabe. Dies ist vor allem wünschenswert, wenn der
Applikationsentwickler nicht die selbe Person ist wie der
Designer. 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.
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.
Einer der einzigartigen Aspekte von Smarty ist 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. (Zend, http://www.zend.com/;
PHP Accelerator, http://www.php-accelerator.co.uk)
Ein paar Smarty Charakteristiken