hiho,
ich beschäftige mich derzeit mit Template-Systemen da ich ein solches bei meinem neuen Projekt zum Einsatz bringen will (diese Mischung von HTML- und PHP-Code ist einfach zu unleserlich auf dauer).
Jetzt hatte ich mich mit vLib angefreundet. Dazu aber zwei Fragen:
1. Generell: Ist vLib gut oder sollte man ein anderes Templatesystem verwenden?
2. Speziell zu den Loops in vLib. Man kann ja über <tmpl_loop> im template einen loop erzeugen. Jetzt frage ich mich aber ob es nicht logischer wäre, den loop im PHP-Code zu machen und dann bei jedem schleifendurchlauf eine vLib-Instanz zu erzeugen und zu parsen. Oder wäre das viel langsamer?
Also als praktisches Beispiel:
Statt so ...
Code:
<!-- Template-Datei -->
<tmpl_loop name='loop'>
<p>User: {tmpl_var name='u_id'} - {tmpl_var name='u_name'}</p>
</tmpl_loop>
PHP-Code:
/* PHP-Datei */
require_once 'vlib/vlibTemplate.php';
$tmpl = new vlibTemplate('tmpl/loop.htm');
$loop = array(
0 => array('u_id' => 1, 'u_name' => 'Claus'),
1 => array('u_id' => 2, 'u_name' => 'Kelvin'),
2 => array('u_id' => 3, 'u_name' => 'Skrol'),
3 => array('u_id' => 4, 'u_name' => 'Micheal')
);
$tmpl->setloop('loop', $loop);
$tmpl->pparse();
... sowas ...
Code:
<!-- Template-Datei -->
<p>User: {tmpl_var name='u_id'} - {tmpl_var name='u_name'}</p>
PHP-Code:
/* PHP-Datei */
require_once 'vlib/vlibTemplate.php';
$loop = array(
0 => array('u_id' => 1, 'u_name' => 'Claus'),
1 => array('u_id' => 2, 'u_name' => 'Kelvin'),
2 => array('u_id' => 3, 'u_name' => 'Skrol'),
3 => array('u_id' => 4, 'u_name' => 'Micheal')
);
foreach ($loop AS $loopEntry) {
$tmpl = new vlibTemplate('tmpl/loop.htm');
$tmpl->setvar('u_id',$loopEntry['u_id']);
$tmpl->setvar('u_name',$loopEntry['u_name']);
$tmpl->pparse();
unset($tmpl);
}
Der code ist jetzt schnell hingeschrieben, aber ich denke es wird klar was ich meine. Das zweite System ist mir nämlich deutlich einleuchtender, im vLib Manual wird aber ersteres System verwendet. Was sollte man nun warum nehmen?
mfg