ob_startを次のように使用するのに違いがありますか?ob_start();コールバック関数
オプション1:
function ob_handle($buffer){/*do something, and return buffer*/}
ob_start('ob_handle');
オプション2:
ob_start(function($buffer){/*do something, and return buffer*/});
ありがとう!
ob_startを次のように使用するのに違いがありますか?ob_start();コールバック関数
オプション1:
function ob_handle($buffer){/*do something, and return buffer*/}
ob_start('ob_handle');
オプション2:
ob_start(function($buffer){/*do something, and return buffer*/});
ありがとう!
パフォーマンス面での違いはほとんどありません。コールバック関数がどのように宣言されているかは問題ではなく、関数の使用方法や実行方法については何も変わりません。あなたが確かに知りたいなら、ベンチマークそれはです。
唯一の違いは、最初のケースでは、グローバル関数ob_handle
を宣言しています。これは、別の場所から再度使用でき、グローバル名ob_handle
を取ります。 2番目のケースでは、もう一度別の場所から無名関数を参照することはできません。
ありがとう、私は多くを考え出した。 – Kovo
オプション2はPHP 5.3より前には動作しません。 – DCoder