Ce face ob_end_clean
ob_end_clean golește bufferul curent și îl închide. Nimic din ce era în el nu ajunge la browser. Ce afișezi după apel merge în bufferul de dedesubt sau, dacă nu mai există altul, direct spre browser.
Se folosește când vrei să ascunzi afișarea unei funcții pe care nu o poți modifica, de exemplu o bibliotecă veche care face echo.
Ce returnează
true la succes, false (cu o notificare) dacă nu există buffer.
Exemple
Exemplul 1: Ascunderea afișării unei funcții
<?php
function calculeaza_vechi(int $x): int
{
echo "DEBUG: calculez pentru $x\n";
return $x * 2;
}
ob_start();
$rezultat = calculeaza_vechi(21);
ob_end_clean();
echo "Rezultat: $rezultat";
Rezultat
Rezultat: 42
Greșeli frecvente
- Folosești
ob_end_cleancând voiai conținutul. Este pierdut. Dacă ai nevoie de el, foloseșteob_get_clean.
Comenzi înrudite
ob_clean: Golește bufferul de ieșire curent, fără să trimită conținutul și fără să îl închidă.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.