最近在看一个框架的源代码。
遇到这么一个问题:一个数组中,存有几个匿名函数。
$arr=array(
function(){echo '111';},
function(){echo '222'}
)
在调用的时候,按照自己的思路,自然想到:$arr[0](); //调用了第一个匿名函数。
在框架中,看他们写的代码是:
先创建一个方法反射对象:$reflect=new ReflectFunction($arr[0]);
然后去执行:$reflect->invoke(); // 第一个匿名函数执行,输出111
也查了一下手册,关于反射的用法。
但是还是搞不懂,为什么不直接调用,这多省事啊?
直接调用,和使用ReflectFunction类,有什么区别?最起码在最后执行结果是一样的。
添加回答
举报
0/150
提交
取消