调用回调存储为成员变量
php是否可以直接调用存储在类的成员变量中的回调?目前我正在使用一种解决方法,将回调暂时存储到本地变量中。
class CB {
private $cb;
public function __construct($cb) {
$this->cb = $cb;
}
public function call() {
$this->cb(); // does not work
$cb = $this->cb;
$cb(); // does work
}
}
php 抱怨 $this->cb()
不是一个有效的方法,即不存在。
Is it possible with php to directly call a callback stored in an member variable of a class? currently I'm using a workaround, where I'm temporarily storing my callback to a local var.
class CB {
private $cb;
public function __construct($cb) {
$this->cb = $cb;
}
public function call() {
$this->cb(); // does not work
$cb = $this->cb;
$cb(); // does work
}
}
php complains that $this->cb()
is not a valid method, i.e. does not exist.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在php7中你可以这样调用它:
In php7 you can call it like this:
您需要使用
call_user_func
:You need to use
call_user_func
: