在设定的对象中调用函数
我正尝试在我的页面类中使用它。 我只是刚开始在PHP中使用对象,所以我仍然有点无知(但尽可能多地学习)。 这是在我的page()
函数中(当有新的页面实例时调用)
set_error_handler('$this->appendError');
这是造成错误
警告:set_error_handler()期望参数(appendError)是有效的回调
现在如何设置一个类内部函数,同时将该函数作为字符串传递。 这不可能吗? 我应该使用一个普通函数,然后调用类函数并通过所有参数发送? 这听起来有点麻烦。
或者我错过了这个问题? 我试图让我的appendError返回一个字符串,并回声..但它仍然不是很好玩。
任何帮助将不胜感激。
谢谢!!
这个问题很少。
第一:
'$this->appendError'是一个nogo。 它不会将$ this解释为当前类,php将其解释为字符串'$ this'。
第二:尝试
set_error_handler(array($this, 'appendError'));
如果这不起作用,请将$ this替换为classname并静态使用它。
阅读php.net回调文档。 我认为例3最接近你想要的:
// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));
链接地址: http://www.djcxy.com/p/58913.html