Pass in an array of the object and the method name to be called:
set_error_handler(array($this, 'customErrorHandler'));
set_error_handler()
takes a callback:
Some functions like call_user_func()
or usort() accept user-defined
callback functions as a parameter.
Callback functions can not only be
simple functions, but also object
methods, including static class
methods.
A PHP function is passed by its name
as a string. Any built-in or
user-defined function can be used,
except language constructs such as:
array(), echo(), empty(), eval(),
exit(), isset(), list(), print() or
unset().
A method of an instantiated object is
passed as an array containing an
object at index 0 and the method name
at index 1.
Static class methods can also be
passed without instantiating an object
of that class by passing the class
name instead of an object at index 0.
Apart from common user-defined
function, create_function() can also
be used to create an anonymous
callback function. As of PHP 5.3.0 it
is possible to also pass a closure to
a callback parameter.
(emphasis added)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…