最近在看一個框架的源代碼。
遇到這么一個問題:一個數(shù)組中,存有幾個匿名函數(shù)。
$arr=array(
????function(){echo?'111';},
????function(){echo?'222'}
)
在調(diào)用的時候,按照自己的思路,自然想到:$arr[0]();?//調(diào)用了第一個匿名函數(shù)。
在框架中,看他們寫的代碼是:
先創(chuàng)建一個方法反射對象:$reflect=new?ReflectFunction($arr[0]);
然后去執(zhí)行:$reflect->invoke();??//?第一個匿名函數(shù)執(zhí)行,輸出111
也查了一下手冊,關(guān)于反射的用法。
但是還是搞不懂,為什么不直接調(diào)用,這多省事啊?
直接調(diào)用,和使用ReflectFunction類,有什么區(qū)別?最起碼在最后執(zhí)行結(jié)果是一樣的。
添加回答
舉報
0/150
提交
取消