PHP 8.5.0 Alpha 2 available for testing

ob_list_handlers

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

ob_list_handlersВозвращает список активных обработчиков вывода

Описание

ob_list_handlers(): array

Выводит список активных обработчиков вывода.

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Возвращает массив со списком активных обработчиков вывода, если есть.

Возвращает строку "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"
}

Смотрите также

  • ob_end_clean() - Очищает (стирает) содержимое активного буфера вывода и отключает его
  • ob_end_flush() - Сбрасывает (отправляет) значение, которое вернул активный обработчик вывода, и отключает активный буфер вывода
  • ob_get_flush() - Сбрасывает (отправляет) возвращённое активным обработчиком вывода значение, возвращает содержимое активного буфера вывода и отключает его
  • ob_start() - Включает буферизацию вывода

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top