[PHP] TPL-Sys - Wie mit Arrays umgehen?

flaschenkind

Well-known member
ID: 118459
L
20 April 2006
4.507
337
Ich baue mir gerade ein eigenes Template System. Mit if, for, include und halt Variablen ;)
Ich weiß auch, wie ich alles machen soll, nur nciht mit den Variablen. Da will ich, dass auch Arrays möglich sind. Der Index soll dann aus der for kommen. Da weiß ich leider noch nciht so ganz, wie ich das lösen soll. Wie würdet ihr das machen?
Wenn notwenig, gebe ich auch noch die RegEx der for raus ;)
 
Dann ist es aber kein richtiges Template System..

dann ist es ebend kein template system... macht aber das selbe wie nen template system. gibts nen unterschied ob ich jetzt <title><?=$title?></title> schreib oder <title>{{$title}}</title> und dann
PHP:
class template {
	var $daten;

	function add($key,$value) {
		$daten[$key] = $value;
	}
	
	function load($template_datei) {
		foreach($daten AS $key => $value) $$key = $value;
		include($template_datei);
	}
}
oder
PHP:
class template {
	var $daten;

	function add($key,$value) {
		$daten[$key] = $value;
	}
	
	function load($template_datei) {
		$template = file_get_content($template_datei);
		
		foreach($daten AS $key => $value) $template = str_replace("\{\{$key}}",$value,$template);
		
		echo $template;
	}
}

schreib? neh... kommt aufs selbe hinaus und du bist mit methode 1 bei weiten flexibler weil du nicht jeden scheiß selbst nochmal implementieren musst, sondern php bereits alles implementiert hat. (if,else,for,foreach usw...) das ist jetzt nur bsp code... das würde ich ein wenig anders umsetzen.

und so hab ich das jetzt eigentlich gar nicht gemeint... was ich gemeint hab ist ne mischung aus beiden. das du als template source sowas nimmst <title>{{$title}}</title> und dann dieses template in php übersetzt. also das dann am ende <title><?=$title?></title> rauskommt... und du im laufenden betreib nur noch das im php übersetzte template nimmst. so macht das zb smarty... somit hält sich die ressourcen verschwednung in grenzen, da du das template nur einmal in php übersetzen musst und dann das template von php geparsst wird. (was effektiver ist,als jedesmal selbst zu parsen)
 
Wie wärs mit CSS?
ansonsten mit platzhaltern
##content##, ##menue## und so weiter
:hö:

Wo braucht man da CSS? :think:
Und natürlich mit Platzhaltern. Da muss ich aber dann jeden Inhalt in dem PHP Script erzeugen. So ist es also nicht wirklich ein Template System.

Hmm, weiß nicht. Werde es mir aber mal überlegen.

Edit: Ich glaube, ich mache es doch so, wie ZeroCCC geschrieben hat. Ich komme bei meinem nicht weiter, dafür sind meine RegEX Kentnisse wohl noch nicht gut genug :(
 
Zuletzt bearbeitet:
bevor du selbst eines schreibst, würde ich mir mal Smarty ansehen, hat alles drin was man braucht und sogar noch brauchen könnte, und gerade die Variablen-Modifikatoren sind genial
 
Ich kenne Smarty ;)
Habe vorher damit gearbeitet. Aber für mein neues Script will ich ein eigenes haben.

k, viel Spaß damit, ich habe nach Smarty aufgegeben nen eigenes zu entwickeln, aber ich glaube ich habe auf meiner hdd noch irgendwo nen link mit nem großen artikel, der dir beim schreiben helfen kann. wenn ich es finde, editier ich es heute abend hier rein