ID: 12365
Updated by: mfischer
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Class/Object related
Operating System: Linux
PHP Version: 4.0.6
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[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]