hi,
die Engine Twig kriegt z.B. {{map}} als Array. Derzeit benutze ich jedoch native PHP als Engine, da sieht das so aus
$this->STASH['map'];
// oder, bei mir mit Einheitsgetter
$this->stash('map');
was viel Tipparbeit bedeutet und daran liegt, dass eine T-Engine wie Twig zum rendern direkt den STASH kriegen würde, was bei allen anderen T-Engines, wie auch in Perl der Fall ist.
Möglicherweise möchte ich später mal anstelle native PHP eine TE wie Twig einsetzen und müsste dazu alle meine Templates umschreiben. Um solche Ausssichten etwas erträglicher zu machen habe ich mir folgendes überlegt, im Template oder in meiner Klasse, welche das Template includert:
// create a template object
$to = (object) $this->STASH;
// or use dynamic vars
foreach($this->STASH as $k => $v){
$$k = $v; // nachdem z.B. $k = 'descr' ist, gibt es nun eine Variable $descr
}
// benutze weiter unten dann entweder
// $to->map;
// oder gleich so
// $map
Schwere Entscheidung, mir fehlen noch Erfahrungen, was würdet Ihr machen?
Horst, Schablonenmaschinist