ID:               33370
 Updated by:       [EMAIL PROTECTED]
 Reported By:      borysf at wp dot pl
-Status:           Open
+Status:           Bogus
 Bug Type:         Class/Object related
 Operating System: Windows, Linux
 PHP Version:      4.4.0RC1
 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

You are creating the copy here:
     $this->Parent = $parent;



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

[2005-06-16 22:22:50] borysf at wp dot pl

Description:
------------
There is a bug in creating references (This problem does not exist in
PHP5). If you have, for example, two classes and the first class
creates second and passes itself as reference to second's constructor,
reference is not being created. I've been trying to create this
reference in many ways, but always with the same result - there is no
reference, only a copy of class which was passed as reference.

Reproduce code:
---------------
class B {
  var $Parent;
  function B(&$parent) {
     $this->Parent = $parent;
     $this->Parent->Data = 'foo';
  }
}

class A {
   var $Data;
   var $B;
   function A() {
      $this->B = new B($this);
   }
}

$a = new A;
echo $a->Data;

Expected result:
----------------
echo should return 'foo', but returns nothing. In php5 it works
properly. Note, that I have used the & operator in B's constructor to
create a reference to A class.



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


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

Reply via email to