コンストラクターでの参照
PHP の学習を始めたばかりで、PHP マニュアルの「コンストラクターでの参照」セクションを参照しました。しかし、テスト結果はマニュアルに記載されている内容と異なりました。何が問題だったのでしょうか?
<?php <br /> class Foo{<br /> function Foo($name){<br /> global $globalref;<br /> $globalref[] = &$this;<br /> <br /> $this->setName($name);<br /> <br /> $this->echoName();<br /> <br /> }<br /> <br /> function echoName()<br /> {<br /> echo '<br />',$this->name;<br /> }<br /> <br /> function setName($name)<br /> {<br /> $this->name = $name;<br /> }<br /> }<br /> ?><br /> <br /> <br /> <?php <br /> $bar1 = new Foo('set the name is php');<br /> <br /> $bar1->echoName();<br /> $globalref[0]->echoName();<br /> <br /> //print_r($globalref);<br /> //手册上说 如果重新设置个新name $bar1 和 $globalref[0] 是不一样的 但是测试的时候 这里输出是一样 <br /> $bar1->setName('set the name is java');<br /> $bar1->echoName();<br /> $globalref[0]->echoName();<br /> ?>