考慮下面的類:回調存儲在類成員中,如何調用?
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