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