template klasse
Rudi
- php
0 Andreas Waidelich0 Rudi
0 Tobias Kloth0 Twilo
hallo, ich hab mir viele template systeme angeschaut, aber irgendendwie find ich das die mit functionen zugestopft sind die man nicht braucht, es reicht doch wenn man eine classe schreibt die nur ein template aufruft und die strings übermittelt und ausgibt oder? wofür sind solche "mächtigen" template systeme gut?
z.b. ne if abfrage in ein templade system ist doch nicht logich! das macht man direkt wenn in der php datei, da man ja templades benutzt um php von html zu trennen aber smarty macht "php in html funktionfähig" um es kurz zu sagen und das ist ja nicht der sin von templades, so als beispiel...
oder irre ich mich total?
kennt jemmand ein sehr flinkes ( mit cache und so ) aber einfaches kleines templade system?
also wo man ein templade aufruft, die variablen definiert, mit {var} im html document angibt und das ganze dan ausgibt?
mfg Rudi
Hallo Rudi,
ganz einfach könnte es so aussehen:
<?php
class TemplateManager{
var $_template;
function TemplateManager($path){
$this->_template = implode(file($path));
}
function replace($placeholder, $value){
$this->_template = str_replace($placeholder, $value, $this->_template);
}
function getPage(){
// clear not replaced placeholders
$tmp = preg_replace("/%%([^%]*)%%/","",$this->_template);
return $tmp;
}
}
?>
Mit freundlichen Grüßen
Andreas Waidelich
wie wurde der aufruf des templades sein? wenn ich zum beispiel zum ersetzen folegendes hätte:
$row['username']
$xyz
$id
Hallo Rudi,
hallo, ich hab mir viele template systeme angeschaut, aber irgendendwie find ich das die mit functionen zugestopft sind die man nicht braucht, es reicht doch wenn man eine classe schreibt die nur ein template aufruft und die strings übermittelt und ausgibt oder?
Das musst du wissen. Ich kann dir aus eigener Erfahrung aber sagen, dass ein ganz einfaches Template-System zwar am Anfang ausreicht, aber man dann ziemlich schnell mehr (aufwendig zu programmierende) Funktionen braucht.
z.b. ne if abfrage in ein templade system ist doch nicht logich!
dadrüber kann man sich streiten - wenn ich aber z.B. ein Login haben, kann ich im Template festlegen, dass in eingelogtem Zustand der Logout-Link zu sehen ist und sonst das Login-Formular - wenn ich das nicht in das Template legen würde, müsste ich auf jeder Seite mich darum kümmern, dass an der entsprechenden Stelle der Logout-Link bzw. das Login-Formular zu sehen ist.
kennt jemmand ein sehr flinkes ( mit cache und so ) aber einfaches kleines templade system?
auf http://www.phpinsider.com/benchmarks_phemplate/ und http://www.dclp-faq.de/q/q-stil-content-code.html stehen ein paar Template-Systeme, ich weiß aber nur von Smarty, dass es Caching beherscht.
Grüße aus Nürnberg
Tobias
Hallo,
seh ich das richtig, dass Smarty am schnellsten ist?