TS: Wie HTML Schnipsel zusammensetzen und ausgeben?

Beitrag lesen

Hello,

Output-Buffering ist in diesem Kontext eine Hilfsmechanik, um beispielsweise in PHP-Templates den „HTML-Modus“ nutzen zu können (Direktausgaben außerhalb von <?php…?>-Tags) und um dennoch die Template-Rückgabe erst mal als String weiterverarbeiten zu können.

Jetzt ist bei mir gerade eine Lampe angegangen :-)

Die Frage sollte nicht lauten: Output-Buffer oder nicht?
Die Frage sollte lauten: Single-Pass oder Multi-Pass?

##Was ich damit meine?
Es gibt immer Schwierigkeiten damit, revolvierende Ausgaben in statische Templates einzubauen. Ob eine Ausgabe revolvierend ist, oder nicht, ist meistens von den Daten abhängig. Eine Tabelle kann mehrere Zeilen enthalten, muss aber nicht. Wieviele es werden, weiß man erst, wenn die Daten ebenfalls zur Verfügung stehen. Das Mustertemplate kann man aber bereits vorher bauen, anschauen, stylen, evaluieren, usw.

Per PHP-DOM-Parser kann man die Anzahl der Zeilen auch wunderbar erweitern, wenn notwendig, oder die Tabelle ganz ersetzen, wenn gar keine Daten vorhanden sind.

Und am Ende setzt man dann die reinen (kontextbehandelten!) Daten in das fertige HTML-Template ein. Und dann wird die Ausgabe in den Buffer geschrieben / aka ausgegeben.

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.