ID:               32913
 Updated by:       [EMAIL PROTECTED]
 Reported By:      marius at distance dot ktu dot lt
-Status:           Open
+Status:           Feedback
 Bug Type:         Class/Object related
 Operating System: Linux
 PHP Version:      5.0.3
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.0-win32-latest.zip

Can't reproduce with latest 5.0 & HEAD CVS.


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

[2005-05-02 14:11:22] marius at distance dot ktu dot lt

Description:
------------
Note: you might say this is a duplicate of #28444, but i don't think
it's not a bug so please read carefully what i've written before doing
that and if you say it's a duplicate, please explain specificaly why...
thanks.
---

when i traverse object tree with overloaded properties, i can't assign
a value to complex properties (i.e. $a->b->c). i don't see why this
should be a problem for php...

I don't get why do you say it's not a bug? Consider my reproduce code.

why do the first and second property accessors work and the third
(final) one does not?
as i understand the final statement ($a->a->a = "";) should do:
$a->__get("a")->__set("a", "");

so what's wrong with that? no recursive __get or __set, everything
should work by specification... or am i wrong? if so, where?

Reproduce code:
---------------
<?php
class A
{
        function __get($name)
        {
                return new A();
        }
        function __set($name, $value)
        {
        }
}
$a= new A();
$a->a->a; // only __get = ok
$a->a = ""; // only __set = ok
$a->a->a = ""; // __get and __set = error
?>

Expected result:
----------------
the code should work ok.

Actual result:
--------------
Fatal error: Cannot access undefined property for object with
overloaded property access in test.php on line 15

this error only happens if php would need to call __get and __set of
some classes (sequentially not recursively) to resolve one (lhs)
expression.


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


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

Reply via email to