Битовая маска, которую передали во второй параметр
обработчика вывода — phase даёт информацию о вызове обработчика.
Замечание: В битовую маску разрешается включать больше одного флага, а для проверки того, установлен ли флаг, указывают побитовый оператор
&.
Значение флага PHP_OUTPUT_HANDLER_WRITE и его псевдонима
PHP_OUTPUT_HANDLER_CONT равно 0,
поэтому установили ли значение, определяют только
операторами равенства
(== или ===).
PHP устанавливает следующие флаги на конкретном этапе жизненного цикла обработчика:
PHP_OUTPUT_HANDLER_START —
при первом вызове обработчика.
Флаг PHP_OUTPUT_HANDLER_FINAL
или его псевдоним PHP_OUTPUT_HANDLER_END —
при последнем вызове обработчика,
т. е. он отключается. PHP также установит этот флаг,
когда буферы выключаются процессом завершения работы PHP.
Конкретный вызов обработчика устанавливает следующие флаги:
PHP_OUTPUT_HANDLER_FLUSH —
при запуске обработчика вызовом функции ob_flush().
Флаг PHP_OUTPUT_HANDLER_WRITE
или его псевдоним PHP_OUTPUT_HANDLER_CONT —
когда размер содержимого обработчика равен или превышает размер буфера,
а обработчик вызвали во время автоматической очистки буфера.
Флаг PHP_OUTPUT_HANDLER_FLUSH —
когда обработчик запустили вызовом функций ob_clean(),
ob_end_clean() или ob_get_clean().
При вызове функции ob_end_clean() или ob_get_clean()
также устанавливается флаг PHP_OUTPUT_HANDLER_FINAL.
Замечание: При вызове функции ob_end_flush() или ob_get_flush() флаг
PHP_OUTPUT_HANDLER_FINALустанавливается, а флагPHP_OUTPUT_HANDLER_FLUSH— нет.