Die Verwendung von Template Mechanismen in PHP sind ein stark debatiertes Thema. Viele meinen das PHP an sich schon der beste Template Mechanismus ist und die Verwendung eines weiteren Layers für die Trennung von Logik und Layout ist überflüssig. In der aktuellen Ausgabe des php architects [1] beschreibt John Coggeshall [2] wie man mit der Smarty Template Engine mehrsprachige Projekte realisieren kann. Anhand der phpcommunity.org zeigt er auf, wie mit einer eigenen Klasse, die von Smarty abgeleitet ist und der smarty_lang_prefilter() Funktion eine Realisierung möglich ist.
Auf dem blog von akbkhome.com [3] habe ich einen Artikel über die Template Engine Flexy gefunden, die als HTML_Template_Flexy in PEAR [4] zu finden ist. Laut Alan’s Bericht ist es mit Flexy wesentlich einfacher mehrsprachige Projekte zu realisieren, da schon einige Funktionalitäten eingebaut sind.
Grundsätzlich ist meine Meinung und Erfahrung, dass die Verwendung von Template Engines, die Erweiterung und Wartbarkeit von größeren Applikationen stark vereinfachen. Vor allem eventuell spätere Portierungen in andere Umgebungen wie z.B. Jakarta Struts können mit einer vernünftig gebauten PHP Applikation, die im Model-View-Controller Verfahren aufgebaut worden ist sehr einfach und schnell realisiert werden.
[1] http://www.phparchitect.com/issue.php?mid=28
[2] http://blog.coggeshall.org/archives/115_Extra_Extra.html
[3] http://blog.akbkhome.com/archives/33_Flexy__What_smarty_should_have_been.html
[4] http://pear.php.net/package/HTML_Template_Flexy
