Die freizugängliche Template-Engine Smarty liegt als PHP-Bibliothek vor. Das Ziel von Smarty ist, eine Trennung von Code und Ausgaben bei der Entwicklung von Webapplikationen zu erreichen.
Das Konzept von Smarty
Der Hersteller der 2002 erschienen Engine bezeichnet diese als Template/Presentation-Framework. Smarty stellt verschiedenste Hilfsmittel für das Erstellen und Designen von Web-Applikationen zur Verfügung. Somit erschuf der Hersteller damit eine nützliche Erweiterung zu den regulären Funktionen eines Template-Systems.
Während des Designprozesses einer Website ist es meist der Fall, dass die eigentlichen Datenverarbeitungsroutinen und Prozesse in einem PHP-Programm programmiert werden und gleichzeitig das Layout der Webapplikation entworfen und als HTML umgesetzt wird.
Smarty wurde unter anderem dafür entwickelt, um diese beiden Arbeitsschritte bereits im frühen Entwicklungsstadium trennen zu können. Deshalb wird der Entwicklungsprozess in die Anwendung von PHP-Dateien und das Erstellen von Templates, die als Grundgerüst dienen, aufgeteilt. Die Template-Dateien dienen zunächst als wenig komplexe HTML-Platzhalter, die nach Vollendung der Entwicklung durch dynamische Inhalte ersetzt werden können. Damit schon die vorläufigen Templates zu einem gewissen Grad steuerbar sind, erkennt Smarty etliche einfache Steuerbefehle, die denen des PHP-Systems ähneln. In der neuesten Version von Smarty wurde dieses optimiert und die Ausgabe von Templates beschleunigt. Im professionellen Einsatz kann die Programmbibliothek der Software angepasst und erweitert werden.
Geschichte und Entstehung
Um eine für Designer vereinfachte und angepasste Version von PHP zu erstellen, entwickelten die Programmierer Monte Orth und Andre Zmievski eine Spezifikation für verschiedene Template-Engines. Mit der Intention, dass diese in das Programm PHP aufgenommen wird, wurde sie im Jahr 1999 in C programmiert. Aufgrund technischer Schwierigkeiten und dem unklaren Leistungsumfang wurde die Spezifikation jedoch zunächst nicht in den PHP-Kern integriert. Aufgrund dieser Ablehnung entstand das Projekt SmartTemplate, das jedoch nie veröffentlicht wurde. In seiner heutigen Version wurde Smarty erstmals am 18. Januar 2001 vorgestellt. Bis heute setzen viele bekannte Websites und Shops auf Smarty.