Classes, Constructors, References and Recursion
| From: | Evert | Rooftop Solutions | Date: | Wed, 20 Apr 2005 17:51:25 +0000 |
| Subject: | Classes, Constructors, References and Recursion | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-213519@lists.php.net to get a copy of this message | ||
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