Struppi: Templateengine PHP MVC

Beitrag lesen

Du bist noch nicht beim MVC angekommen. Die View kümmert sich um sämtliche Ausgabelogik-Dinge. Du betrachtest, so scheint es mir, nur ein Template. Die Entscheidungen, was ausgegeben werden muss, und die Wiederholungen bei Massendaten, willst du möglicherweise dem Controller-Teil aufhalsen.

Neinnein, der sollte eigentlich den Request bearbeiten bzw. bestenfalls direkt ans Model weiterleiten, welches dann wiederum sein Ausgabe(n) (Arrays) der View ins Stammbuch schreibt.

Das Modul schreibt in den View?

Würde ich nicht so machen. Das Model hält nur die Daten. Die Bearbeitung macht auf jeden Fall der Controller, d.h. wenn du ein Array bzw. von Daten (Model) hast, werden diese vom Controller aufgearbeitet und entsprechend dem View übergeben. Das Model weiß nichts von einem View oder Controller. Im gegensatz dazu weiss das View, wie es an die Daten des Models kommt.

Dadurch das es in PHP möglich Code und HTML zu mischen, kannst du dir leicht ein View basteln mit dem es möglich ist auch komplexere Kontrukte zu erzeugen, z.b. Schleifen, Bedingungen oder auch das nachladen von Code, d.h. du musst nicht Code und HTML trennen und hast die Möglichkeit dein View sehr flexibel zu gestalten.

In anderen Sprachen ist dies aufwendiger, da du die gleiche Funktionalität, entweder mit mehreren Dateien erreichen musst (eine für den Code und eine für HTML) oder ein Templatesystem benutzt, mit dem du die Logik ebenfalls umsetzen kannst. Dashat aber den Nachteil, dass derjenige, der die Templates bearbeitet, eine weitere Beschreibungssprache lernen muss. Der Vorteil liegt darin, dass im Template nicht in das System eingegriffen werden kann. Was wichtiger für dich ist magst du entscheiden.

Wenn ich in PHP programmieren würde, wär mein Ansatz eher der erster. So wie es z.b. auch Wordpress macht, wo du in den Themesordnern mit php Dateien sehr flexibel arbeiten kannst. Aber ich kenn mich mit PHP nicht so gut aus, daher weiß ich nicht ob das das optimale ist.

Struppi.