From a class I wrote...


-- snip --
         // hack to work around the inability to use a method as
         // a callback for the set_error_handler function
         // NOTE: if you forget the '&', then all of the settings
         // to class properties will be lost
         $GLOBALS['_ERROR_HANDLER_OBJECT'] = &$this;
         $GLOBALS['_ERROR_HANDLER_METHOD'] = 'error_handler';

         // inside function to handle the redirection to a class method
         function eh($type, $message, $file=null, $line=null, $vars=null)
         {
             return $GLOBALS['_ERROR_HANDLER_OBJECT']->
                         $GLOBALS['_ERROR_HANDLER_METHOD']($type,
$message, $file, $line, $vars);
         }
         // start handling errors
         set_error_handler('eh');
-- snip --

This uses a trick wrapping the actual callback in an inside function.

HTH.
Pete.


Dan Rossi wrote:
hi guys i am having an issue getting a set error handler to get a function
within a class, i am also having problems trying to trigger the error, i
dont want fatals or the error handler wont catch it anyway , but user or
message picks up annoying messages like undefined index on variable , how
can i achieve this properly

this seems to work within the constructor
set_error_handler(array(&$this, 'myErrorHandler'));

but this way only works in 4.3 ? i need it backwards compatible

trigger_error ("Cannot divide by zero", E_USER_WARNING);

this is the trigger

function myErrorHandler ($errno, $errstr, $errfile, $errline, $context) {
plus this , is errrno supposed to return the error type or a code

sorry to e vague its late






-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to