Johannes Zeller: PHP Code

Beitrag lesen

Hallo Tom,

Es gibt eigentlich gar keine alternative dazu, als allen Kontent durch PHP ausgeben zu lassen. Wie soll PHP sonst die Übersicht und Kontrolle darüber behalten?

Für den Erhalt der Übersicht ist der Autor zuständig. Generell senkt natürlich eine Vermischung von PHP und HTML die Übersicht.

Die von Matt vorgeschlagene Vorgehensweise im Kopf der Datei Variablen mit Inhalt zu befüllen und diese dann in den HTML-Code eingebettet ausgeben zu lassen, halte ich jedoch für eine sauberere Variante. Denn das Prinzip, nach dem dabei vorgegangen wird, ist das gleiche wie bei einem Template-System.

Dort kann man aber sehen, dass es sinnvoll ist, auch das Hauptdokument durch PHP ausgeben zu lassen.

Ich kann in deinem Beispiel kein Argument dafür sehen. Im Gegenteil, die durch die Verwendung von doppelten Anführungszeichen nötigen Maskierungen und das explizite Einfügen von Zeilenumbrüchen senkt in meinen Augen schon die Lesbarkeit.

Wenn z.B. ein Datenbankfehler auftritt, gibt man dieses Dokument, das natürlich dann auch Links zurück zur Stammseite haben sollte, einfach gefüttert mit einer Fehlermeldung aus. Die Ausgabe ist dann trotzdem valides HTML und man benötigt das beliebte "die()" nicht mehr, das üblicherweise leider meistens nicht mit einem validen HTML-Text gefüttert wird. Im Prinzip ginge das aber auch.

Dazu ist es nicht nötig, alles mit PHP ausgeben zu lassen. Man kann mit PHP auch als normalen HTML-Code notierte Seitenteile bedingt ausgeben lassen, das halte ich nicht per se für unsauber. Mögliche Verwirrungen entstehen lediglich dadurch, dass PHP in diesem Fall sowohl als Sprache für die Programmlogik als auch als Template-Sprache eingesetzt wird. Der Vorteil eines Template-Systems mit einer eigenen Sprache für die Ausgabelogik liegt weniger darin, dass es eine Notwendigkeit für eine saubere Trennung von Programm- und Ausgabelogik ist, sondern dass es den Template-Schreiber zwangsweise beschränkt und eine Vermischung des eigentlichen Programms und der Ausgabe erschwert.

Schöne Grüße,

Johannes