call function in object with set
I am trying to use this in my page class. I only just started using objects in PHP so I'm still a little clueless (but learning as much as I can). This is in my page()
function (so called when there is a new instance of page)
set_error_handler('$this->appendError');
This is causing an error
Warning: set_error_handler() expects the argument (appendError) to be a valid callback
Now how do I set a class internal function whilst passing the function as a string. Is this not possible? Should I use a normal function which then calls the class function and sends through all arguments? This sounds a little cumbersome to me.
Or have I missed the problem? I've tried making my appendError return a string, and echo.. but it still isn't playing nice.
Any help would be greatly appreciated.
Thank you!!
Few problems with that.
First:
'$this->appendError'is a nogo. It doesn't interpret $this to the current class, php interprets it as the string '$this'.
Second: Try
set_error_handler(array($this, 'appendError'));
If that doesn't work, replace $this with the classname and use it statically.
Read the php.net callback documentation. I think example 3 is closest to what you want:
// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));
链接地址: http://www.djcxy.com/p/58914.html
上一篇: 将参数传递给set中调用的函数
下一篇: 在设定的对象中调用函数