ID: 12365
Updated by: mfischer
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Closed
Bug Type: Class/Object related
Operating System: Linux
PHP Version: 4.0.6
New Comment:

I said closed :-)

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

[2001-11-17 13:47:03] [EMAIL PROTECTED]

The object $this used in the constructor is not the same as the one returned to $b 
because it got copied. Assign the new object by reference to $b:

  $b = &new b();

Closed.

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

[2001-07-25 10:11:26] [EMAIL PROTECTED]

<?
phpinfo();
class a {
        
        function a ($obj) {
                $this->h = &$obj;
                return true;
        }
}

class b {
        var $d=1;
        var $item;
        
        function b () {
                $this->item = new a (&$this);
                $this->d++;
                echo $this->d.'//'.$this->item->h->d.'<br>';    }
        
        function c () {
                $this->item = new a (&$this);
        }
}

$b = new b ();
//$b->c (); //****
$b->d++;
echo $b->d.'--'.$b->item->h->d;


/*
Try to comment and recomment line ****
I see there is a bug with that sitution:
after finishing of object "b" constructor, link $a->h not linked to "b" object and 
$a->h is a copy of object "b".
I think, this is not right. In constructor $a->h is still link to "b", but after 
finishing the $a->h is a copy of "b".
*/

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



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


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to