Claudius L.: Umsetzung der Trennung von PHP- und HTML-Code / des EVA-Prinzips

Beitrag lesen

Hallo!

ich danke dir wieder für deinen Rat - ich konnte leider nicht eher Antworten, da mit Semesterende auch ein paar Klausuren anstehen …

Gestern hatte ich eine Idee, welchen Mittelweg ich hier für meine Zwecke momentan für am besten geeignet halte. Besonders gefällt mir, dass die Vorteile von HTML gespickt mit PHP-Ausgaben mit denen von Platzhaltern und printf() kombiniert werden:

Gefällt mir nicht wirklich. Auf den ersten Blick muten die Platzhalter seltsam an, die da so scheinbar motivationslos in der Gegend herumlungern. Erst später kommt ein Funktionsaufruf, bei dem man den Inhalt der Funktion kennen muss, um ihn zu verstehen. (Bekommt man aber hin, nach der ersten allgemeinen Verunsicherung.) Nehmen wir mal an, du hast dich in diese Methode verliebt - klar, ist ja ein Kind deiner eigenen Gedanken - und kommst dann an eine Stelle, an der der HTML-Code-Block größer wird und Platzhalter und deren Ersetzung noch mehr auseinanderbringt. Was machst du dann?

Ich muss zugeben, als ich das zum ersten Mal gelesen hatte, wollte ich widersprechen. Muss wohl daran gelegen haben, dass ich mich tatsächlich in die Methode verliebt hatte. Inzwischen sehe ich leider auch einige Nachteile.
Dass die Platzhalter „motivationslos“ im HTML stehen halte ich immer noch für unproblematisch - genau genommen war es sogar meine Absicht, das HTML möglichst übersichtlich und frei von zu viel sonstigem Code zu halten. Auch, dass man den Funktionsinhalt kennen muss, um ihn zu verstehen, ist für mich kein allzu schlimmes Kriterium, schließlich muss man jedes System erstmal kennenlernen, bevor man es verwenden sollte.
Den Knackpunkt sehe ich wie du aber vor allem in zu großen - und auch in zu kleinen - HTML-Blöcken. Werden sie zu groß, wird unübersichtlich, was durch was ersetzt wird. Sind sie sehr klein, so hat man unverhältnismäßig viel Overhead durch das ob_start(), PHP-Bereich schließen, öffnen, Funktionsaufruf.
Ich werde also noch ein bisschen weiter suchen müssen, bis zur perfekten Methode. Vermutlich wird es aber darauf hinauslaufen, situationsabhängig teils mit printf(), teils mit PHP in HTML zu arbeiten. Wenn ich mich nicht täusche war das sogar einer deiner ersten Hinweise hier im Thread …

Die Verarbeitung ist die Ermittlung der Daten. Alles was du hier aufgezählt hast, wäre Ausgabelogik.

Ok, dann hatte ich vorher etwas missverstanden. So ist es einleuchtend.

EVA ist übrigens kein Allheilmittel, sondern stößt auch irgendwann an seine Grenzen. Aber es gibt ja auch noch andere Entwurfsmuster, nach denen man sein Programm strukturieren kann.

Ja, ich glaube das ist auch eine der größten Erkenntnisse, die ich hieraus habe. Dass es eben keine absoluten Prinzipien gibt, sondern eher allgemeine Schemata, nach denen man sich richten kann.

Schönen Abend noch,

Claudius