2012-04-21 116 views
1

在以下方面使用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*/}); 

謝謝!

+2

選項2在PHP 5.3之前不起作用。 – DCoder 2012-04-21 05:12:11

回答

4

性能方面幾乎沒有差異。這只是一個關於如何聲明回調函數的問題,它不會改變關於函數如何被使用或執行的任何事情。如果你想知道的話,基準測試

唯一的區別是,在第一種情況下,你要聲明一個全局函數ob_handle,你可以從其他地方再次使用,這會佔用全局名稱ob_handle。在第二種情況下,您不能再次從別處引用匿名函數。

+0

謝謝你,我想到了很多。 – Kovo 2012-04-21 16:43:12