einfaches Template System

http://www.inside-php.de/tutorial/PHP-Fortgeschrittene-11/eigenes-Template-System.html

bin kürzlich auf diesen Link gestossen:

Und zwar deswegen, weil PHP selbst schon eine Template-Sprache ist,
zumindest war PHP dies am Anfang ausschließlich. Jetzt ist zwar jede Menge
Funktionalität hinzugekommen, aber die Eigenschaft, auch eine
Template-Sprache zu sein, hat PHP ja immer noch.

stimmt doch eigentlich und diese Methode ist ja bestimmt einfacher wie z.b ein Smarty und sollte eigentlich auch schneller sein.
Was meint ihr dazu? Gibt es irgendwas was problematisch wäre?


mfg
 
Erstens: schön das du meine Seite gefunden hast :)

Zu der Frage:
Ich benutze das System schon seit einiger Zeit und halte es für sehr brauchbar, man muss sich jedoch auch soweit kontrolieren können das man das System auch sinnvoll einsetzt und nichts reinbringt was nicht in die Templates gehört.
 
Original von treo
Erstens: schön das du meine Seite gefunden hast :)

Zu der Frage:
Ich benutze das System schon seit einiger Zeit und halte es für sehr brauchbar, man muss sich jedoch auch soweit kontrolieren können das man das System auch sinnvoll einsetzt und nichts reinbringt was nicht in die Templates gehört.

jo ich bin durch irgend ne signatur hier, drauf gestossen.

Aber war nicht genau das Ziel von Smarty & Co HTML und Code föllig zu trennen?

Naja ich denke solange man wirklich nur variablen und schleifen in die Templates macht, sollte es eigentlich recht gut funktionieren
 
so ist es auch.
Man wird aber dadurch das es einfacher ist da code einzubringen hat man natürlich das "problem" dass man es vllt. sogar macht.
 
hab jetzt folgendes Problem:

Ich möchte aus einer Funktion(nur ein Funktion, nicht aus einer Klasse) auf die Methode assign zugreifen, das hab ich etwa vollgendermasen gemacht:

PHP:
$tpl = new &TemplateEngine;          // Wie beim Beispiel des Tuts

function()
{
    $tpl->assign('testvar','testcontent');
}

das gibt mir diesen Error:
Code:
Fatal error: Call to a member function assign() on a non-object in ...


wär froh wenn mir wer sagen könnte was ich falsch mache.


mfg
 
PHP:
$tpl = new &TemplateEngine;

function testfkt(){
    global $tpl;
    $tpl->assign('testvar', 'testcontent');
}
// Oder

function testfkt2($tpl){
    $tpl->assign('testvar', 'testcontent');
}
//Aufruf
testfkt();
//oder
testfkt2($tpl);
 
Zurück
Oben