Das ist die kleinste PHP Template-Engine, bzw. das kleinste PHP-CMS der Welt, erstellt mit der Programmiersprache PHP und 7 Zeilen Code.
Die kleinste PHP-Template-Engine
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. In der Programmzeile 004 taucht der eigentliche Content mit sechs Beispiel-Textchen auf - dieser könnte später einzelne Textkonserver von der Festplatte lesen.
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 ?>
Code
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>
Code
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 den echo $template Befehl an den Browser aus - das wars, ganz einfach.
Weiterführende Informationen
- Artikel: Heredoc Parser und Mini-CMS
28.01.2024 Kontakt@Oliver-Lohse.de Template Parser klein