Ce face ob_list_handlers
Pentru fiecare buffer deschis, ob_list_handlers dă numele funcției care îi prelucrează conținutul. Un buffer fără funcție apare ca default output handler, iar unul cu funcție anonimă apare ca {closure:...}, urmat de fișier și linie.
Este util pentru depanare, de exemplu când vrei să afli dacă un modul a pornit compresia cu ob_gzhandler.
Ce returnează
Un tablou cu numele funcțiilor, de la primul buffer deschis la ultimul.
Exemple
Exemplul 1: Două buffere deschise
<?php
function majuscule(string $text): string
{
return strtoupper($text);
}
ob_start();
ob_start("majuscule");
$lista = ob_list_handlers();
ob_end_clean();
ob_end_clean();
print_r($lista);
Rezultat
Array
(
[0] => default output handler
[1] => majuscule
)
Greșeli frecvente
- Dai direct o funcție internă cu un singur parametru:
ob_start("strtoupper"). PHP îi trimite două argumente și primeștiArgumentCountError. Folosește o funcție anonimă.
Comenzi înrudite
ob_get_status: Returnează informații despre bufferul de ieșire curent sau despre toate bufferele.ob_start / ob_get_clean / ob_end_flush: Pornește un buffer: tot ce afișezi după el este păstrat în memorie în loc să fie trimis imediat.ob_get_level: Returnează câte buffere de ieșire sunt deschise, unul în altul.