(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ob_list_handlers — Liste les gestionnaires d'affichage utilisés
Cette fonction ne contient aucun paramètre.
Retourne un tableau avec le gestionnaire d'affichage en cours d'utilisation (s'il existe).
   Si output_buffering est activé
   et qu'aucun output_handler n'est défini,
   ou si aucune fonction de rappel ou null n'a été passé à ob_start(),
   "default output handler" est renvoyé.
   Activer output_buffering
   et définir un output_handler
   équivaut à passer
   une fonction interne (intégrée)
   à ob_start().
  
   Si un callable a été passé à ob_start(),
   le nom complètement qualifié
   du callable est renvoyé.
   Si le callable est un objet implémentant
   __invoke(),
   le nom complètement qualifié
   de la méthode __invoke() de l'objet est renvoyé.
   Si le callable est une Closure,
   "Closure::__invoke" est renvoyé.
  
Exemple #1 Exemple avec ob_list_handlers()
<?php
// utilisation output_buffering=On, sans output_handler défini
var_dump(ob_list_handlers());
ob_end_flush();
// aucun rappel ou null
ob_start();
var_dump(ob_list_handlers());
// Fonction anonyme
ob_start(function($string) { return $string; });
var_dump(ob_list_handlers());
ob_end_flush();
// fonction fléchée
ob_start(fn($string) => $string);
var_dump(ob_list_handlers());
ob_end_flush();
// callable de première classe
$firstClassCallable = userDefinedFunction(...);
ob_start([$firstClassCallable, '__invoke']);
var_dump(ob_list_handlers());
ob_end_flush();
// fonction interne (intégrée)
ob_start('print_r');
var_dump(ob_list_handlers());
ob_end_flush();
// fonction définie par l'utilisateur
function userDefinedFunction($string, $flags) { return $string; };
ob_start('userDefinedFunction');
var_dump(ob_list_handlers());
ob_end_flush();
class MyClass {
    public static function staticHandle($string) {
        return $string;
    }
    public static function handle($string) {
        return $string;
    }
    public function __invoke($string) {
        return $string;
    }
}
// classe et méthode statique
ob_start(['MyClass','staticHandle']);
var_dump(ob_list_handlers());
ob_end_flush();
// objet et méthode non statique
ob_start([new MyClass,'handle']);
var_dump(ob_list_handlers());
ob_end_flush();
// objet invoquable
ob_start(new MyClass);
var_dump(ob_list_handlers());
ob_end_flush();
?>L'exemple ci-dessus va afficher :
array(1) {
  [0]=>
  string(22) "default output handler"
}
array(1) {
  [0]=>
  string(22) "default output handler"
}
array(1) {
  [0]=>
  string(7) "print_r"
}
array(1) {
  [0]=>
  string(19) "userDefinedFunction"
}
array(1) {
  [0]=>
  string(17) "Closure::__invoke"
}
array(1) {
  [0]=>
  string(17) "Closure::__invoke"
}
array(1) {
  [0]=>
  string(17) "Closure::__invoke"
}
array(1) {
  [0]=>
  string(21) "MyClass::staticHandle"
}
array(1) {
  [0]=>
  string(15) "MyClass::handle"
}
array(1) {
  [0]=>
  string(17) "MyClass::__invoke"
}
