【发布时间】:2013-09-16 00:53:04
【问题描述】:
我正在通过 php 回调工作。我想我已经涵盖了基础知识,但是在类扩展中工作时,我仍然在某个地方碰壁了一段时间,因此是时候进行一些堆栈溢出 rubber duck programming...!
从类扩展调用回调:
class myClass {
function cb_check($function) {
call_user_func($this->$function);
}
static function myFunction() {
var_dump("Hello World");
}
}
class myExtClass extends myClass {
function cb_invoke() {
$this->cb_check('myFunction');
}
}
$x = new myExtClass;
$x->cb_invoke();
错误信息(或,通知和警告):
注意:未定义的属性:F:\test.php 中的 myExtClass::$myFunction 第 5 行
警告:call_user_func() 期望参数 1 是有效的回调, 第 5 行的 F:\test.php 中没有给出数组或字符串
第 5 行是上面的 call_user_func()。
有人知道我在这里缺少什么吗?
提前谢谢你!
【问题讨论】:
-
call_user_func(array($this, $function));或call_user_func('self::' . $function);
标签: php