Classes, Constructors, References and Recursion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have this piece of code:

 class test1 {

       var
               $data = 'hi',
               $node = false;


function test1() {

               $this->node =& new test2($this);

       }

 }



 class test2 {

       var
               $data = 'yoyo',
               $root = false;

       function test2(&$root) {

               $this->root =& $root;

       }


}


$test =& new test1(); echo('<pre>'); print_r($test); echo('</pre>');

And it outputs:

test1 Object
(
   [data] => hi
   [node] => test2 Object
       (
           [data] => yoyo
           [root] => test1 Object
               (
                   [data] => hi
                   [node] =>  *RECURSION*
               )

       )

)
while it should output:

test1 Object
(
   [data] => hi
   [node] => test2 Object
       (
           [data] => yoyo
           [root] => *RECURSION*

       )

)


I know there are some difficulties using references in constructors, but I think this should be right..
I'm using PHP/4.3.11. Can anyone tell me what is wrong with this code or why PHP behaves this way?


regards,
Evert

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux