Aaaalso:
Beschäftige mich auch gerade mit dem Thema und daher... Bin aber deshalb auch noch nicht so erfahren darin.
Templates sind Vorlagen (in unserem Falle vermutlich für HTML-Seiten). Das W3C und Konsorten (ach nee, Konsortium) empfiehlt zwischen ausgeführtem Code und Inhalt zu trennen.
Vorteil: HTML-Code und PHP-Code lassen sich unabhängig voneinander verändern und der Seitengestalter muss nicht notwendigerweise HTML können, sowie für den PHP-Coder eventuell weniger HTML-Kenntnisse erforderlich sind.
Ein Template ist also (im angenommenen Fall) eine Datei, die wie eine HTML-Datei aussieht, bis auf den kleinen Unterschied, dass irgendwo besondere Tags enthalten sind, die anzeigen: STOP! Hier muss was eingefügt werden, was mir ein Skript liefert. Oft verwendet scheint @@befehl@@ dafür zu sein.
Da so ein Template aber nun unglücklicherweise weder PHP noch gültiges HTML ist muss man es parsen, was bedeutet (man erinnere sich an die guten, alten Textadventures), dass man ein PHP-Skript drüberjagen muss, welches die Template-Tags mit der passenden PHP-Ausgabe ergänzt.
Der Zeitpunkt, wann man einTemplate parst ist nicht unwichtig.
Entweder gleich nach der Erstellung des Templates. Es wird also in eine gültige PHP Datei umgewandelt, die statt der @@-Befehle z.B. dann enthält. Der Vorteil: Geschwindigkeitgewinn, der Nachteil: Nach jeder kleinen Änderung im Template muss ich neu parsen.
Die zweite Methode ist, dass das Template zur Laufzeit (also während der Skriptausführung) geparst wird. Ist langsamer, da ja eventuelle mehrere Tausend Zeichen durchsucht werden müssen, aber man muss seine Templates nicht gleich nach einer Änderung parsen.
Davon ab leitet sich ein weiterer Aspekt: Ich muss einen Editor für die Templates haben.
Als alleiniger Autor, der sich mit den Eigenheiten des Systems auskennt kann man auf ihn auch verzichten, will man as Skript abe weitergeben oder von mehreren pflegen lassen, so kommt man kaum um einen Editor herum.
Der Editor ist dann meist eine HTML-Seite mit mächtig viel Textarea. Das alte Template wird eingelesen und dargestellt. Daneben kann man z.B. die @@-Tags anklickbar darstellen, die dann über JavaScript eingefügt werden. Wenn das Template abgeschickt wird, wandert es erst durch den Parser, der Fehlermeldungen ausgibt oder aber dass geparste Template abspeichert.
Alle Klarheiten beseitigt? Fein.
Manti
---