PHP 8.5.0 Alpha 1 available for testing

ob_list_handlers

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

ob_list_handlersLista los gestores de salida utilizados

Descripción

ob_list_handlers(): array

Lista los gestores de salida utilizados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array con el gestor de salida en uso (si existe).

Si output_buffering está activado y no se ha definido ningún output_handler, o si no se ha pasado ninguna función de retorno o null a ob_start(), se devuelve "default output handler". Activar output_buffering y definir un output_handler equivale a pasar una función interna (integrada) a ob_start().

Si se ha pasado un callable a ob_start(), se devuelve el nombre completamente cualificado del callable. Si el callable es un objeto que implementa __invoke(), se devuelve el nombre completamente cualificado del método __invoke() del objeto. Si el callable es una Closure, se devuelve "Closure::__invoke".

Ejemplos

Ejemplo #1 Ejemplo con ob_list_handlers()

<?php
// uso de output_buffering=On, sin output_handler definido
var_dump(ob_list_handlers());
ob_end_flush();

// ningún retorno o null
ob_start();
var_dump(ob_list_handlers());

// Función anónima
ob_start(function($string) { return $string; });
var_dump(ob_list_handlers());
ob_end_flush();

// función flecha
ob_start(fn($string) => $string);
var_dump(ob_list_handlers());
ob_end_flush();

// callable de primera clase
$firstClassCallable = userDefinedFunction(...);

ob_start([$firstClassCallable, '__invoke']);
var_dump(ob_list_handlers());
ob_end_flush();

// función interna (integrada)
ob_start('print_r');
var_dump(ob_list_handlers());
ob_end_flush();

// función definida por el usuario
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;
}
}

// clase y método estático
ob_start(['MyClass','staticHandle']);
var_dump(ob_list_handlers());
ob_end_flush();

// objeto y método no estático
ob_start([new MyClass,'handle']);
var_dump(ob_list_handlers());
ob_end_flush();

// objeto invocable
ob_start(new MyClass);
var_dump(ob_list_handlers());
ob_end_flush();
?>

El resultado del ejemplo sería:

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

Ver también

  • ob_end_clean() - Elimina (limpia) el contenido del búfer de salida activo y lo desactiva.
  • ob_end_flush() - Vacía (envía) el valor de retorno del manejador de salida activo y desactiva el búfer de salida activo
  • ob_get_flush() - Vacía (envía) el valor de retorno del gestor de salida activo, devuelve el contenido del búfer de salida activo y lo desactiva.
  • ob_start() - Activa el temporizador de salida

add a note

User Contributed Notes

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