Je rencontre des problèmes avec le tampon de sortie. Je tamponne mon script et j'imprime le résultat en utilisant un rappel. Le problème est que si une erreur est lancée à tout moment, rien n'est affiché et je reçois un écran vide. J'ai essayé de définir mes propres gestionnaires d'erreurs, mais rien ne semble fonctionner. J'ai l'impression que c'est parce que les erreurs provoquent mon tampon pour appeler la méthode de rappel au lieu de mon gestionnaire d'erreur. Soit ça, soit parce que j'ai le gestionnaire d'erreurs comme méthode statique, mais changer cela cause des problèmes ailleurs.Erreurs à l'intérieur du tampon de sortie
J'apprécierais vraiment n'importe quelle aide parce que celui-ci m'a perplexe!
public function constructor()
{
ob_start(array(__CLASS__, 'render'));
self::$buffer_level = ob_get_level();
set_error_handler(array(__CLASS__, 'exception_handler'));
set_exception_handler(array(_C_LASS__, 'exception_handler'));
RUNNING MY SCRIPT HERE
ob_end_flush();
}
public static function exception_handler($exception, $message = NULL, $file = NULL, $line = NULL)
{
while (ob_get_level() > self::$buffer_level)
{
ob_end_clean();
}
echo $exception.' - '.$message.' - '.$file.' - '.$line.'<br/>';
}
J'ai un problème similaire dans Zend_Framework: ce que je veux vraiment, c'est un ErrorHandler qui vide tous les ob_ et imprime les détails de l'exception. Permet d'économiser des heures de print_r() et de mourir ('here i'm') ... – Steve