有没有更好的方法在类中调用匿名函数?这是一个简单的示例,可以清楚地说明我的意思。
class foo
{
private $call_back_1 = null;
private $call_back_2 = null;
function __construct($func1, $func2)
{
$this->call_back_1 = func1;
$this->call_back_2 = func2;
}
function provokeCallBacks()
{
//this does not work, and gives an error
$this->call_back_1();
//I would like to avoid this
$method = $this->call_back_2;
$method();
}
}
$call1 = function(){ echo "inside call 1"};
$call2 = function(){ echo "inside call 2"};
$test = new foo(call1, call2);
$test->provokeCallBacks();
* 更新 1:请忽略任何语法错误,因为我是为演示目的而即时编写的。*
在 foo:provokeCallBacks 中,我试图调用匿名函数,但第一种方法不起作用并给出错误。第二个有效,但我必须使用一个名为“$method”的临时变量来进行调用,这有点愚蠢。
我想知道是否存在调用匿名函数的更好方法。