ID:          47402
 Updated by:  [email protected]
 Reported By: [email protected]
-Status:      Open
+Status:      Assigned
 Bug Type:    Scripting Engine problem
 PHP Version: 5.3.0beta1
-Assigned To: 
+Assigned To: dmitry


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

[2009-02-16 10:33:00] [email protected]

Description:
------------
Depending on the context and the callback, call_user_func didn't
propagate $this in 5_2. It now does in 5_3. Not sure which one is more
correct, but there is definitely a potential BC break here.

Reproduce code:
---------------
<?php
class A {
    public function test() {
        B::foo();
        call_user_func(array("B", "foo"));
    }

}

class B extends A {
    public function foo() {
        var_dump($this);
    }
}

$b = new B; $b->test();

?>

Expected result:
----------------
// 5_2's output
object(B)#1 (0) {
}
NULL

Actual result:
--------------
// 5_3's output
object(B)#1 (0) {
}
object(B)#1 (0) {
}


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


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

Reply via email to