ID:               33243
 Updated by:       [EMAIL PROTECTED]
 Reported By:      ladislav dot prosek at matfyz dot cz
-Status:           Open
+Status:           Assigned
 Bug Type:         Zend Engine 2 problem
-Operating System: Windows XP SP2
+Operating System: *
-PHP Version:      5.0.4
+PHP Version:      5.* (2005-06-07)
-Assigned To:      
+Assigned To:      dmitry
 New Comment:

Dmitry, can you check this one out too? (I thought something like this
was fixed already but apparently not)



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

[2005-06-06 18:30:44] ladislav dot prosek at matfyz dot cz

Still the same. Only the top-level object is cloned.

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

[2005-06-05 15:00:28] [EMAIL PROTECTED]

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



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

[2005-06-04 20:12:43] ladislav dot prosek at matfyz dot cz

Description:
------------
When zend.ze1_compatibility_mode is On, object copying is not compliant
to PHP4. Namely, objects are not deep-copied on assignment. This may
cause substantial problems to legacy applications that rely on the
compatibility mode.

Reproduce code:
---------------
$a->y->z = 0;
$b = $a;      // should perform deep copy of $a
$b->y->z = 1; // hence this should have no effect on $a
var_dump($a);


Expected result:
----------------
object(stdClass)#1 (1) {
  ["y"]=>
  object(stdClass)#2 (1) {
    ["z"]=>
    int(0) // <--
  }
}


Actual result:
--------------
object(stdClass)#1 (1) {
  ["y"]=>
  object(stdClass)#2 (1) {
    ["z"]=>
    int(1) // because $a->y and $b->y are still one object after the
assignment
  }
}



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


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

Reply via email to