OBJECT£ºWHAT'S THE RALATION BETWEEN A,B AND C?
| From: | bob | Date: | Sun, 17 Mar 2002 02:01:01 +0000 |
| Subject: | OBJECT£ºWHAT'S THE RALATION BETWEEN A,B AND C? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-88789@lists.php.net to get a copy of this message | ||
<?php
class A
{
function A($i)
{
$this->value = $i;
// try to figure out why we do not need a reference here
$this->b = new B($this);
}
function createRef()
{
$this->c = new B($this);
}
function echoValue()
{
echo "<br>","class ",get_class($this),':
',$this->value;
}
}
class B
{
function B(&$a)
{
$this->a = &$a;
}
function echoValue()
{
echo "<br>","class ",get_class($this),':
',$this->a->value;
}
}
// try to undestand why using a simple copy here would yield
// in an undesired result in the *-marked line
$a =new A(10);
$a->createRef();
$a->echoValue();
$a->b->echoValue();
$a->c->echoValue();
$a->value = 11;
$a->echoValue();
$a->b->echoValue(); // *
$a->c->echoValue();
?>