考虑下面的类:回调存储在类成员中,如何调用?
class Callbackhandler() {
private $cb;
public function __construct(callable $cb) {
$this->cb = $cb;
}
public function callme() {
return $this->cb();
}
}
调用它像往常一样,像这样:
$callback = function() { return "Hello"; };
$handler = new Callbackhandler($callback);
echo $handler->callme();
产生Call to undefined method
错误,因为场cb
不是方法。如何在不使用call_user_func()
的情况下从类内正确调用回调?
如果你不想使用'call_user_func'你需要将类成员分配给一个本地成员,并用'$ member();' – DarkBee 2014-11-06 16:04:27