PHPでob_start()でコールバック関数を指定した場合、スクリプトを終了した後にコールバック関数が呼ばれる。
ではスクリプトの途中でexitしたらどうなるかというと、exit後にコールバック関数が呼ばれた。
<?php
function callback($buf) {
return $buf . ' callback'; //呼ばれる
}
ob_start('callback');
echo 'foo';
exit;
echo 'bar'; //呼ばれない
// => foo callback
コールバック関数を指定せずに、exit後にob_get_clean()等でバッファを処理しようとした場合は、(当然ながら)exit後の処理は実行されない。
<?php
ob_start();
echo 'foo';
exit;
echo ob_get_clean();
echo 'bar'; //呼ばれない
// => foo
0 件のコメント:
コメントを投稿