# ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ob_list_handlers — Liste les gestionnaires d'affichage utilisés

### Description

ob_list_handlers(): array

Liste les gestionnaires d'affichage utilisés.

### Liste de paramètres

Cette fonction ne contient aucun paramètre.

### Valeurs de retour

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é.

### Exemples

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"
    }

### Voir aussi

- ob_end_clean() - Effacez (nettoyez) le contenu du tampon de sortie actif et désactivez-le.
- ob_end_flush() - Vide (envoie) la valeur de retour du gestionnaire de sortie actif et désactive le tampon de sortie actif
- ob_get_flush() - Vide (envoie) la valeur de retour du gestionnaire de sortie actif, renvoie le contenu du tampon de sortie actif et le désactive.
- ob_start() - Enclenche la temporisation de sortie