Tom: Templates verschachteln

Beitrag lesen

Hello,

Aber wenn Du dein System mit den passiven Templates weiter so engagiert verfolgst, kann ich mir vorstellen, dass Du überhaupt keine aktiven Templates mehr benötigst, sondern nur noch ein paar gute Methoden schreiben musst für die Verarbeitung von Daten und passiven Templates.

... genau das kann ich mir eben auch vorstellen und daher rührt die Frage, in welchem Fall ein "Aktives Template" notwendig wird, bzw. aus welchen Gründen man darauf ausweicht.

Soweit ich das überschauen kann, eigentlich nur aus Bequemlichkeit. Die Möglichkeiten sind eben bereits vorhanden, wenn man sein PHP auspackt. Man muss nicht erst nachdenken, sondern kann gelich loshacken. Dass das nicht besonders klug ist, wissen wir aber :-O

Wenn ich ein _System_ benötige/haben will, dass durch Usereingaben oder Daten gesteuert werden soll, muss ich auch konsequent eins aufbauen und kann dann nicht einfach mittendrin aufhören und doch wieder auf die verwendete Programmiersprache zurückgreifen. Dieser Rückfall wären dann die berühmten includes() oder die wilden Konstruktionen mit eval().

Die passiven Templates haben den Vorteil, dass nichts passieren kann, was du nicht vorgesehen hast. Sie kosten den Server i.d.R. allerdings auch etwas mehr Kraft. Das kann man dann durch ein intelligentes Caching aber wieder ausgleichen. Geschachtelte Templates, die sich (längere Zeit, für mehrere Dutzend Requests) nicht verändern, werden dabei einfach expandiert und diese  Teilergebnisse werden abgespeichert, ggf. unter Beibehaltung der Platzhalter für Daten.
Das ergibt dann bei Arrays besondere Anforderungen.

Und wenn Du diesen Denkansatz verfolgst, kommst Du irgendwann darauf, dass Du eigentlich auch einen kleinen Generator für Templates benötigst, der Dir Listentemplates automatisch erzeugt (unter Beibehaltung von [modifizierten] Paltzhaltern für die Daten) und erst am Ende die Daten einstanzt.

Du solltest in Deinem Funktionspark also daran denken, die Templateauswertung so zu gestalten, dass ein fertiges Endergebnis abgespeichert werden kann, zum Debugging der Pfad mitgeschrieben werden kann und das Ergebnis sowohl netto (also ohne Daten) als auch brutto (also komplett mit den eingesetzten Daten) erzeugt werden kann.

Es sollte also möglich sein, ein leeres "Formular" (also nur HTML ohne Nutzdaten) im Browser anzeigen lassen zu können.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de