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中调用的函数

下一篇: 在设定的对象中调用函数