是否有其他方法可以在不执行的情况下分配或返回函数?我认为这不是最好的解决方案......
class Foo {
public function getDisplayFunction() {
return function() {
$this->display();
};
}
private function display() {
echo 'something';
}
}
$display = (new Foo())->getDisplayFunction();
//and execute it
$display();
答案 0 :(得分:0)
我得到它...在尝试了100件事和1小时搜索之后。这里是我对所有寻求解决方案的人的回答。
public function getDisplayFunction() {
return function() {
return $this->display();
}
}
与:
相同public function getDisplayFunction() {
return [$this, 'display'];
}
优点是您不必通过此解决方案传递args。这就是问题的原因。