出力ハンドラは、出力バッファに関連付けられた callable です。 ob_clean(), ob_flush(), ob_end_flush(), ob_get_flush(), ob_end_clean(), ob_get_clean() をコールすると呼び出されます。 また、PHP のシャットダウン処理中にも呼び出されます。
注意: シャットダウン処理は、ハンドラの戻り値をフラッシュします。
出力バッファを開始するときに、ハンドラを省略したり null
を指定した場合、
内部的な "default output handler"
が使われます。このハンドラは、呼び出された際にバッファの内容を変更せずに返します。
出力ハンドラは、バッファの内容を変更 かつ/または 副作用(例:ヘッダの送信)
をもたせるために使うことができます。
PHP には、内部的な出力ハンドラをふたつ持っています:
"default output handler"
と "URL-Rewriter"
(これは独自の出力バッファに統合されており、2つまでしか起動できません)
がそうです。
PHP 本体にバンドルされている拡張モジュールには、 追加の出力ハンドラが4つあります: mb_output_handler(), ob_gzhandler(), ob_iconv_handler(), ob_tidyhandler() です。