出力ハンドラに渡されるフラグ
出力ハンドラの2つめの phase
パラメータに渡されるビットマスクは、
ハンドラの起動に関する情報を提供します。
注意: ビットマスクは複数のフラグを含むことができるので、 フラグがセットされているかどうかをチェックするには、 ビット演算子
&
を使う必要があります。
PHP_OUTPUT_HANDLER_WRITE
と、そのエイリアス
PHP_OUTPUT_HANDLER_CONT
の値は 0
です。
よって、これらの値が設定されているかを調べられるのは
比較演算子
(==
or ===
) だけです。
ハンドラのライフサイクルの特定のフェーズで、以下のフラグが設定されます:
PHP_OUTPUT_HANDLER_START
は、ハンドラが初めて起動されたときに設定されます。
PHP_OUTPUT_HANDLER_FINAL
やそのエイリアス PHP_OUTPUT_HANDLER_END
はハンドラが最後に起動されるとき、
つまりハンドラがオフになるときに設定されます。
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
は設定されません。