[PHP] Suche Template Klasse
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anschreiben
aufruf
aussehen
compiler
datei
deklaration
exit
fehler
funktion
genausowenig
inhalt
klasse
laden
load
parsen
schlsselwort
show
speicher
tutorial
variable
-
Hiho,
ich suche eine Template Klasse in PHP, aber diese soll einfach und schlicht sein.
Ich will auf gar keinen Fall einen Pseudo-Sprachen-Compiler haben! Genausowenig soll sich die Klasse um das cachen der Seite k?mmern, das geht die Template Klasse n?mlich gar nichts an.
Was die Klasse k?nnen soll :
- normale Platzhalter (druch Seiten etc.) ersetzten
- evtl. Bl?cke (aber nur Bl?cke mehr nicht!)
Also bitte keine Links zu smarty, sonst wird derjenige in der Luft zerissen... *grrr*
MfG Lucas
P.S.: Ich bin ein bi?chen sauer, weil ich ca. 6 Template Klassen durchgeguckt habe, die alle keine Pseudo-Sprachen haben sollten... Sollten....-.- -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich wei?, dass du ja eigentlich eine Klasse haben willst, die ohne "Pseudo-Code" arbeitet, aber ich finde ganz ohne geht es nicht. Jedoch kann man meine Klasse auch umschreiben. Hier erstmal der Link zu dem Tutorial, was noch net aktiviert ist.^^
http://www.lima-city.de/tutorials.php?m=show&id=2097
Und wenn man den Teil rausnimmt, der die Kommentare aus dem Template l?scht und die If-Bedingungen ersetzt, dann kommt folgendes bei raus.
<?php class TPLParser{ //Deklaration der Variablen var $template; // Variable zum Speichern des Templates var $vars = array(); //Der Key wird spaeter mit Value ersetzt //Konstruktor function TPLParser($vars = array(), $file, $path = 'templates'){ //Variablen abspeichern $this->vars = $vars; //Laden des Templates $this->load($path.'/'.$file.'.tpl'); //Parsen des Templates $this->parse(); } //Funktion zum Laden des Template-Files function load($file){ //Falls die Datei existiert, wird sie Zeilenweise in ein Array gelesen if(file_exists($file)) { $this->template = @implode('', @file($file)); } else { //Andernfalls wird ein Fehler ausgegeben print "Die Datei $file existiert nicht!"; exit; } } //Funktion zum Parsen des Templates function parse(){ //Variablen fuer das Parsen initialisieren $search = array(); $replace = array(); //Uebergebene Variablen in die Masken einlesen foreach($this->vars as $key => $value) { $search[] = '{'.$key.'}'; $replace[] = $value; } //Ersetzen der Schluesselwoerter und gleichzeitiges abspeichern der Templates $this->template = str_replace($search, $replace, $this->template); } } ?>
Das Aufrufen w?rde dann wie folgt aussehen.
<?php $vars = array('Suchwort'=> 'Inhalt', '2.Suchwort'=> '2.Inhalt'); $tpl = new TPLParser($vars, 'templatename'); print $tpl->template; ?>
Bei Fragen kannste mich ja im ICQ anschreiben. :D -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage