如何将方法回调作为参数传递给另一个方法?我见过的所有例子都使用函数,但不使用方法。我尝试过的是:
call_user_func($this, 'method_name', [$param1, $param2,...]);
还有另一种更优雅的方式,比如将$this->method_name
作为参数传递吗?
我知道我可以将回调添加为:
function () use ($param1, $param2,...) {
return $this->method_name($param1, $param2);
}
但我想省略关闭部分。
答案 0 :(得分:1)
您还可以使用[$obj, 'method']
作为回调,绑定到对象。
class A {
public $b = 'test';
public function callback() {
echo $this->b;
}
}
$a = new A();
$f = [$a, 'callback'];
$f();