Hallo lieber dedlfix,
Smarty macht mir einen Strich durch die Rechnung, wenn ich den Template-Prozess in die an
ob_start()
übergebene Callbackfunktion einbaue.
Vermutlich ist es nicht nötig,
;)
Wenn ich was vermute, dann prüfe ich das. Eine Vermutung, deren Prüfung jedoch viel Zeit frisst, ist meine Suche nach einer TemplateEngine, die meinen Anforderungen entspricht. Btw., Smarty ist mittlerweile aus anderen Gründen ausgeschieden.
Es gibt durchaus Gründe dafür, Template und Klasse in einer Datei unterzubringen, z.B. für ein Login-Formular, die Klasse selbst wird ohnehin aus dem Dateisystem geladen ;)
Das Problem in der zu ob_start()
gehörigen Callbackfunktion betrifft übrigens nicht nur Smarty oder andere Sourcen, die selbst in den OB eingreifen, es betrifft unglücklicherweise auch die Built-In-Funktion print_r()
die gerade beim Entwickeln sehr nützlich ist, zumindest tritt das auf meiner Kiste auf:
PHP Fatal error:
print_r(): Cannot use output buffering in output buffering display handlers
Wer Lust und Laune hat, kann das mal selbst testen, hier ist der Code:
<?php
ob_start('response');
function response($buffer){
$a = array(1,2,3);
return print_r($a,1);
}
?>
Hotti