Вложенные буферы вывода

Если при запуске нового буфера есть активный буфер вывода, новый буфер будет вложен внутрь предыдущего активного буфера. Внутренний буфер будет вести себя так же как и невложенный, но вывод, который он буферизовал, не будет буферизован внешним буфером. Вывод, сброшенный внутренним буфером, будет только буферизован внешним буфером.

Большинство ob_*-функций работает только с активным буфером вывода (который запущен последним), поэтому только активный буфер получится сбросить, очистить или отключить. К функциям, работающим с другими буферами, относятся — функция ob_list_handlers(), которая возвращает список активных обработчиков вывода, и функция ob_get_status(), которая умеет возвращать информацию только об активном буфере или обо всех буферах.

Вызов функций ob_get_level() или ob_get_status() вернёт уровень вложенности активного буфера вывода.

Предостережение

Функции ob_get_level() и ob_get_status() по-разному оценивают один и тот же уровень вложенности; значение отклонено на единицу. Для функции ob_get_level() первый уровень — это 1. Тогда как для функции ob_get_status() первый уровень — это 0.

add a note add a note

User Contributed Notes

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