(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ob_list_handlers — Возвращает список активных обработчиков вывода
Сигнатура функции не содержит параметров.
Возвращает массив со списком активных обработчиков вывода, если есть.
   Возвращает строку "default output handler",
   если настройка output_buffering включена
   и настройка output_handler не установлена,
   или в функцию ob_start() не передана callback-функция или вместо неё передано значение null.
   Включение настройки output_buffering
   и установка значения для настройки output_handler
   эквивалентно передаче в функцию ob_start()
   внутренней (встроенной) функции.
  
   Возвращает абсолютное имя
   переданной в параметр callable функции,
   если в параметр callable функции ob_start() была передана callback-функция.
   Возвращает абсолютное имя
   объекта с методом __invoke(),
   если параметр callable — это объект, который реализует
   метод __invoke().
   Возвращает строку "Closure::__invoke",
   если параметр callable — это объект класса Closure.
  
Пример #1 Пример использования функции ob_list_handlers()
<?php
// настройка включена output_buffering=On, значение для настройки output_handler не установлено
var_dump(ob_list_handlers());
ob_end_flush();
// callback-функция не передана или null
ob_start();
var_dump(ob_list_handlers());
ob_end_flush();
// анонимная функция
ob_start(function($string) { return $string; });
var_dump(ob_list_handlers());
ob_end_flush();
// стрелочная функция
ob_start(fn($string) => $string);
var_dump(ob_list_handlers());
ob_end_flush();
// callback-функция как объект первого класса
$firstClassCallable = userDefinedFunction(...);
ob_start([$firstClassCallable, '__invoke']);
var_dump(ob_list_handlers());
ob_end_flush();
// внутренняя (встроенная функция)
ob_start('print_r');
var_dump(ob_list_handlers());
ob_end_flush();
// пользовательская функция
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;
    }
}
// класс и статический метод
ob_start(['MyClass','staticHandle']);
var_dump(ob_list_handlers());
ob_end_flush();
// объект и нестатический метод
ob_start([new MyClass,'handle']);
var_dump(ob_list_handlers());
ob_end_flush();
// объект вызываемого класса
ob_start(new MyClass);
var_dump(ob_list_handlers());
ob_end_flush();
?>Результат выполнения приведённого примера:
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"
}
