1

次のように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*/});

ありがとう!

4

1 に答える 1

4

パフォーマンス面での違いはほとんどありません。コールバック関数の宣言方法の問題であり、関数の使用方法や実行方法については何も変更されません。確実に知りたい場合は、ベンチマークを行ってください。

唯一の違いは、最初のケースでは、グローバル関数を宣言していることです。ob_handleこれは、他の場所から再度使用でき、グローバル名を使用しますob_handle。2番目のケースでは、他の場所から匿名関数を再度参照することはできません。

于 2012-04-21T04:04:29.263 に答える