#19033 [Csd->Opn]: set_error_handler() to accepts object/method tuple

From: Date: Thu, 10 Oct 2002 15:55:56 +0000
Subject: #19033 [Csd->Opn]: set_error_handler() to accepts object/method tuple
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-22073@lists.php.net to get a copy of this message
 ID:               19033
 Updated by:       mfischer@php.net
 Reported By:      cyberwombat@yifan.net
-Status:           Closed
+Status:           Open
 Bug Type:         Program Execution
 Operating System: linux 2.4.18
 PHP Version:      4.2.1
 New Comment:

Verified:
linux works

Win32 snapshot from snaps.php.net seems to be b0rked.

Can't check out CVS HEAD and test (besides that it's currently broken
because of some recent changes).

Reopening and thanks for insisting it doesn't work ;-)


Previous Comments:
------------------------------------------------------------------------

[2002-10-10 10:44:30] cynic@php.net

works fine for me with a 2 days old HEAD. you're doing something
wrong.

roman@freepuppy ~ 1005:0 > php -v
PHP 4.4.0-dev (cli), Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.4.0, Copyright (c) 1998-2002 Zend Technologies
roman@freepuppy ~ 1006:1 > tmp/scratch2

Notice: Undefined variable:  fafa in /usr/home/roman/tmp/scratch2 on
line 13
AAError Handled
roman@freepuppy ~ 1007:0 > uname -sr
FreeBSD 4.7-RC
roman@freepuppy ~ 1008:0 > < tmp/scratch2
#!/usr/bin/env php
<?

    error_reporting(E_ALL);

    class Test
    {
        function ErrorHandler($a,$b)
        {
            print("Error Handled\n");
        }
    }
    $error=new Test();
    print("AA".$fafa);
    set_error_handler(array($error, 'ErrorHandler'));
    print("AA".$fafa);

roman@freepuppy ~ 1009:0 > 



------------------------------------------------------------------------

[2002-10-10 10:34:37] gandalf@alladyn.art.pl

<?
class Test{
	function ErrorHandler($a,$b){
		print("Error Handled");
	}
}
$error=new Test();
print("AA".$fafa);
set_error_handler(array($error, 'ErrorHandler'));
print("AA".$fafa);
?>

Result:

------------------------------------
Notice: Undefined variable: fafa in
E:\server\www\sports\futur\test.phtml on line 8
AA
Notice: Array to string conversion in
E:\server\www\sports\futur\test.phtml on line 9

Notice: Undefined variable: fafa in
E:\server\www\sports\futur\test.phtml on line 10
AA
------------------------------------

Sp - still doesnt work

------------------------------------------------------------------------

[2002-10-10 10:31:33] mfischer@php.net

He's simply using the wrong syntax.

The syntax is either

  array($obj, 'method');

or

  array('class', 'method');

so this makes

set_error_handler(array($obj, 'method'));

------------------------------------------------------------------------

[2002-10-10 10:29:45] cynic@php.net

i have not tested it, but presumably the interface is the same as for
call_user_func()


------------------------------------------------------------------------

[2002-10-10 10:00:24] gandalf@alladyn.art.pl

I downloaded this: http://snaps.php.net/win32/php4-win32-latest.zip

And it still doesnt work.
<?
class Test{
	function ErrorHandler($a,$b){
		print("Error Handled");
	}
}
$error=new Test();
print("AA".$fafa);
set_error_handler('$error->ErrorHandler');
print("AA".$fafa);
?>

This bug should be probably reopened

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/19033

-- 
Edit this bug report at http://bugs.php.net/?id=19033&edit=1



Thread (27 messages)

« previous php.bugs (#22073) next »