hotti: (Meinung) Klasseninstanz in Template

Beitrag lesen

hi CK,

[..]Der Grund, warum man Getter– und Setter–Methoden eingeführt hat, ist Kapselung gewesen: die Freiheit, Attribute nach aussen hin anders zu präsentieren als sie innen vorliegen oder auch den Code ändern zu können, ohne dass man jeden Aufruf ändern muss.

Es gibt noch einen Grund, der ist mir gerade eben klar geworden, wo ich mein MVC-Framework so umgebaut habe, dass ein Wechsel der Template-Engine sozusagen auf 'Knopfdruck' möglich ist, d.h., es kann selbst zur Laufzeit das Template gewechselt werden, und zwar zwischen

  • native PHP (.phtml Datei, HTML mit eingebettetem PHP)
  • Twig-Template
    (evntl. auch Andere...)

Jetzt wäre es doof, wenn der Controller für unterschiedliche Templates auch unterschiedliche Daten bereitstellen würde (siehe Eingangsbeispiel .phtml, echo $this->dBase_Article->article()).

Ergo wird der Controller die Daten einheitlich in den STASH schreiben. So haben wir dann

im .phtml Template: Artikelname: <?php echo $this->stash('art','name')?>
im Twig-Template:   Artikelname: {{art.name}}

und (nur) im Controller den magischen Zugriff auf die dBase_Article Class
$this->STASH['art'] = $this->dBase_Article->article4id(106);

Hahm mers endlich! Danke für Eure Aufmerksamkeit ;)

Horst Heizer