ID: 30959
Updated by: [EMAIL PROTECTED]
Reported By: joel at zmail dot pt
-Status: Assigned
+Status: Bogus
Bug Type: Zend Engine 2 problem
Operating System: *
PHP Version: 5CVS-2005-03-09
Assigned To: andi
New Comment:
PHP Strict Standards: Only variables should be assigned by reference
Previous Comments:
------------------------------------------------------------------------
[2005-03-09 01:00:30] [EMAIL PROTECTED]
Andi, is this the final call? :)
(documentation or engine change..that is the question)
------------------------------------------------------------------------
[2005-03-08 12:53:29] joel at zmail dot pt
well, then that info about __call and return by reference should go
into the manual, in the __call section.
right?
------------------------------------------------------------------------
[2005-03-08 12:50:23] [EMAIL PROTECTED]
At the moment __call() relies on the internal signature which is return
by copy and the fact that the engine prevents from implementing return
by reference functions at c-level.
------------------------------------------------------------------------
[2005-03-08 12:01:42] joel at zmail dot pt
I've just tested with latest php 5 (php5-200503080930)
and the problem is not solved.
------------------------------------------------------------------------
[2004-12-02 12:43:27] joel at zmail dot pt
Description:
------------
__call doesn't return by reference
Reproduce code:
---------------
class A{
private $x = 123;
public function & __call($m,$a){
return $this->x;
}
}
$a = new A();
$x = & $a->UndefMethod();
$x = 789;
$y = & $a->UndefMethod();
Expected result:
----------------
$y should be 789, but it is 123
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=30959&edit=1