From:             [EMAIL PROTECTED]
Operating system: All
PHP version:      4.1.1
PHP Bug Type:     Feature/Change Request
Bug description:  set_error_handler() can not be used to set error control to a class 
function

Heres the long and short of it: set_error_handler() wants a string as the
name of the function that will handle errors. However, if you create a
class and try to assign error handling to a function within the class,
there is no way to reference that function.

For example

class ApplicationObject {
        var $error_List as array();
        
        function ApplicationObject() {
                set_error_handler('trapError');
        }
        
        function trapError($err_no, $err_str, $err_file, $err_line, $err_context)
{
                echo "Trap error caught error ".$err_no;
        }
}

// *** Now create the object ***
$app = new ApplicationObject(); 
trigger_error ("Cannot divide by zero", E_USER_ERROR);

This doesn't work. Nor does changing set_error_handler('trapError') to
set_error_handler('$this->trapError'). Removing the quotes just executes
the function. Removing the assignment of error handling outside of the
class like so:
$app = new ApplicationObject(); 
set_error_handler('$app->trapError');
trigger_error ("Cannot divide by zero", E_USER_ERROR);

Since the error handling function will need access to $error_List and I
sure dont want to GLOBAL it, this kind of makes things difficult.
-- 
Edit bug report at http://bugs.php.net/?id=15791&edit=1
-- 
Fixed in CVS:        http://bugs.php.net/fix.php?id=15791&r=fixedcvs
Fixed in release:    http://bugs.php.net/fix.php?id=15791&r=alreadyfixed
Need backtrace:      http://bugs.php.net/fix.php?id=15791&r=needtrace
Try newer version:   http://bugs.php.net/fix.php?id=15791&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=15791&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=15791&r=notwrong
Not enough info:     http://bugs.php.net/fix.php?id=15791&r=notenoughinfo
Submitted twice:     http://bugs.php.net/fix.php?id=15791&r=submittedtwice

Reply via email to