« 出力ハンドラを扱う
出力ハンドラの戻り値 »

出力ハンドラに渡されるフラグ

出力ハンドラの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 は設定されません。

関連キーワード:
ハンドラ   フラグ   バッファ   起動   ビット   エイリアス   flush   マスク   演算子   特定   オフ   レベル   phase   提供   複数   セット   チェック   ライフサイクル   フェーズ   最後   シャットダウン   以上   自動的   フラッシュ   同時
関連する関数・ページ:
outcontrol.working-with-output-handlers   outcontrol.output-handler-return-values   outcontrol.constants   outcontrol.output-handlers   outcontrol.user-level-output-buffers   function.ob-flush