hi dedlfix,
Tach!
[Stringverkettung]
oder
[Ausgabepufferung]Nein, das ist keine gute Idee. Der Ausgabepuffer ist global für das gesamte Programm zuständig, und mehrere werden übereinandergestapelt. Wenn man ihn für einen String-Puffer einzusetzt, muss man seine Nebenwirkungen beachten. Man kann immer nur den obersten verwenden und nicht gezielt einen beliebigen. Eine Variable hingegen wird nicht von anderen Programmteilen beeinflusst, solange sie nicht direkt angesprochen wird. So eine Lösung klappt nur mit einem einzelnen Text. Möchte man mehrere Texte gleichzeitig erstellen, hat man damit ein Problem. Diese Lösung ist nicht universell verwendbar. (Crockford hätte das garantiert auch nicht empfohlen. ;)
Crockford, so wie ich ihn verstehe, versucht fehlerträchtigen Code durch idiotensicheren Code zu ersetzen. So ganz hat sich mir das mit ob_start() und ob_get_clean() noch nicht erschlossen. Finde dazu auch im Manual keinen "kritischen" Hinweis:
http://php.net/manual/de/function.ob-start.php
"Ausgabepuffer können verschachtelt werden, d.g. Sie können ob_start() erneut aufrufen während bereits ein anderer ob_start() Aufruf aktiv ist. Sie müssen nur sicher stellen das Sie später auch ob_end_flush() entsprechend oft aufrufen. Sind mehrere Callback-Funktion aktiv so werden die Ausgaben der Reihe nach von Ausgabepuffer zu Ausgabepuffer weitergegeben und die Callback-Funktionen in Verschachtelungsreihenfolge aufgerufen."
mfg
tami