Das ist die wirklich kleinste Template Engine die je mit PHP erstellt wurde - das Script soll anstöße liefern für eigene Entwicklungen.
Die Programmiersprache PHP ist von Hause aus bereits templatefähig. Das folgende kleine Programm zeigt daher die absolut kleinste Template-Engine mit PHP.
001 <?php 002 $template = ''; 003 $templatetarget = array('{title}','{text1}','{text2}','{text3}','{text4}','{text5}'); 004 $templatecontent = array('Titel', 'Text 1', 'Text 2', 'Text 3', 'Text 4', 'Text 5'); 005 006 $template = file_get_contents('template'); 007 $template = str_replace($templatetarget, $templatecontent, $template); 008 echo $template; 009 ?>
Datei: index.php
Und wie es sich für eine echte Template-Engine gehört, gibt es auch ein HTML Template das sie befüllt wenn die index.php aufgerufen wird.
001 <html> 002 <title>{title}</title> 003 <body> 004 <h1>{text1}</h1> 005 <p>{text2}</p> 006 <p>{text3}</p> 007 <p>{text4}</p> 008 <p>{text5}</p> 009 </body> 010 </html>
Datei: template
Ok, zugegeben, es ist nicht sehr anspruchsvoll, soll jedoch einen Denkansatz liefern.
Der Schlüsselmechanismus in dieser kleinsten Template-Engine mit PHP ist der Befehl str_replace() in Zeile 007. Dieser Befehl verarbeitet zwei Arrays, in einem Array findet er die Platzhalter ($templatetarget) wie zum Beispiel {title} und im zweiten Array den Inhalt der damit zu ersetzen ist ($templatecontent). Das Ergebnis dieses Austausch, speichert der Befehl in $template (das ist die zuvor eingelesene HTML-Datei) und gibt alles mit dem ersetzten Inhalt über der echo Befehl an den Browser aus - das wars, ganz einfach.