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

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

OS update.



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

[2002-10-10 10:55:56] mfischer@php.net

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 ;-)

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

[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()


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

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 (#22077) next »