Codeschnipsel
Meine Template klasse: Klein aber Oho
|
Da ihr jetzt sehrwahrscheindlich eh nur drübergeflogen seid, und nicht wisst um was es geht, mach ich euch ein Anwendungs Beispiel.
Das ist unsere Template Datei 'test.tpl':
|
Und das ist unsere php Datei 'test.php':
|
Und das ist der Quellcode der in den Browser kommt:
|
Erklärung des Output Vorgangs: In der Funktion output() wird die Ausgabepufferung aktiviert. Alles was jetzt Ausgegeben wird z.B. mit echo, kommt in den Ausgabepuffer. Nun werden alle Variabeln die Vorher gesetzt wurden extrahiert. d.h. ein $array['index'] = "inhalt" wird zu $index = "inhalt".
Danach wird die Parse Funktion aufgerufen, und die Am anfang angegebene Datei wird ausgelesen. Es werden alle " escaped & alle {. werden zu " . , .} wird zu . " , {? wird zu "; , ?} wird zu echo " . Mit den 2 preg_replace_callback werden die slashes vor " entfernt die sich in einen von den bereichen {? ?} oder {. .} befinden, damit keine Fehler aufstreten, wenn man darin strings schreibt mit dem Double Qout.
Das Ergebnis wird zurückgegeben und per eval & echo ausgegeben, damit die Variablen die wir aus den Array geholt haben ihre Wirkung nehmen.
Eval führt Folgenden PHP code aus:
|
Das ganze geht so in den Ausgabepuffer. Der Ausgabepuffer wird der Variable $ausgabe zugewiesen. Der Ausgabepuffer wird geleert, und die Ausgabepufferung wird abgeschalten.
$ausgabe wird zurückgegeben. Und schliesslich dann in test.php mit echo ausgegeben...
mfg
Mogria
Kommentare
Autor Mogria