At 17.03.2002 10:01, you wrote:
>
><?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();
>
>?>
Even if I don�t understand what your code does, shouldn�t you
give any variable a place to be stored so it schould look like
class foo
{
var $a;
var $b;
function fooplus()
{
$this -> a = foofoo;
and so on ??
}
}
HTH Oliver
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php