CakeFest 2024: The Official CakePHP Conference

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() - Включает буферизацию вывода

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top