24.05.2016, 00:30
Scarabaeus schrieb:Sowas würde ich aufgrund des EVA Prinzipes nicht wirklich machen wollen, es sein denn dass deine Daten, deine Templates und dein Parser alles zusammen in ein neues "Dokument" überführen und dann die Ausgabe erfolgt (ähnlich XSLT).Die einzelnen Templates ( Header, Content, Footer, u.a. ) werden zu einem HTML-Dokument zusammengeführt und mittels Parser endgültig verarbeitet.
Es mag bessere Umsetzungen geben, aber in Bezug auf EVA sehe ich da jetzt keine großartigen Konflikte, weil das quasi nichts anderes ist, was Template-Systeme á la Twig oder Smarty auch machen. Das
use
-Tag ist auch nur eins von ein paar. Ich verarbeite auf die Weise auch foreach-Loops o.ä.:Code:
<dp:foreach item="$Item" in="$Gallery">
<div class="galleryitem">
<a href="{html.path.images}galerien/$Item.FolderName/$Item.ImageName"><img src="{html.path.images}foobar.jpg" alt=""></a>
</div>
</dp:foreach>
<dp:use
geführt hat, war das Widerstreben, ständig ein Mapping vorhalten zu müssen, auf welcher Seite ich nun welchen Controller benötige.Bspw. geht es mir um einen GalleryController, der wie der Name schon sagt nur in einer Galerie Verwendung finden muss. Wozu soll ich den Controller also erst instanziieren bzw. laden, wenn er auf allen anderen Seiten eh nicht benötigt wird?!
Der nächste logische Schritt wäre gewesen, ein Mapping vorzuhalten, das Informationen darüber enthält, auf welchen Seiten der GalleryController verwendet werden muss. Das empfand ich persönlich allerdings ( da es um mehrere Controller geht, die ähnliche Aufgaben haben, von denen man die Ergebnisse gleichermaßen verarbeiten kann ) als nervend und habe mir überlegt, wie ich das in die Templates implementieren könnte.
Das funktioniert soweit gut für mich, auch wenn es wie gesagt bessere Lösungen geben mag.
Ich arbeite halt ungern mit großen Frameworks, wenn es sich um kleine Projekte, wie FeWo o.ä. handelt...
mermshaus schrieb:Ich sehe nicht so recht, was daran besser ist als an:Die Variante, die Du vorschlägst hatte ich zwischenzeitlich auch schon mal, gehörte aber leider zu denen, die einen Konflikt mit dem Autoloader hatten.
Frag mich nicht, wo das Problem liegt, aber ohne Autoloader funktioniert die Variante bei mir einwandfrei, mit leider nicht.
Gruß Arne