The bitmask passed to the second phase
parameter
of the output handler provides information on the invocation of the handler.
Note: The bitmask can include more than one flag and the bitwise
&
operator should be used to check whether a flag is set.
The value of PHP_OUTPUT_HANDLER_WRITE
and its alias
PHP_OUTPUT_HANDLER_CONT
is 0
therefore whether it is set can only be determined
by using an
equality operator
(==
or ===
).
The following flags are set in a specific phase of the handler's lifecycle:
PHP_OUTPUT_HANDLER_START
is set
when a handler is invoked for the first time.
PHP_OUTPUT_HANDLER_FINAL
or its alias PHP_OUTPUT_HANDLER_END
is set when a handler is invoked for the last time,
i.e. it is being turned off. This flag is also set
when buffers are being turned off by PHP's shutdown process.
The following flags are set by a specific invocation of the handler:
PHP_OUTPUT_HANDLER_FLUSH
is set
when the handler is invoked by calling ob_flush().
PHP_OUTPUT_HANDLER_WRITE
or its alias PHP_OUTPUT_HANDLER_CONT
is set when the size of its contents equals or exceeds the size of the buffer
and the handler is invoked while the buffer is being automatically flushed.
PHP_OUTPUT_HANDLER_FLUSH
is set
when the handler is invoked by calling ob_clean(),
ob_end_clean() or ob_get_clean().
When ob_end_clean() or ob_get_clean()
is called, PHP_OUTPUT_HANDLER_FINAL
is set as well.
Note: When ob_end_flush() or ob_get_flush() is called,
PHP_OUTPUT_HANDLER_FINAL
is set butPHP_OUTPUT_HANDLER_FLUSH
is not.