[PHP-users 19316]Re: PHPでのオブジェクト指向プログラミングについてのご質問

SEGAMI Takashi sage @ microcad.co.jp
2003年 12月 11日 (木) 18:12:01 JST


瀬上です。


<20031211.170419.74739436.hayato @ hayajo.dyndns.org>
 "[PHP-users 19309]PHPでのオブジェクト指向プログラミングについて
のご質問"
 "Hayato Imai <hayato @ hayajo.dyndns.org>" wrote:


> 
> ---------- プログラムソース ----------
> 
> //--------------------
> //  testClass
> //--------------------
> <?php
> require_once('Result.php');
> require_once('A.php');
> $result = new Result();
> new A($result);
> print "testClass : " . $result->get('name') . "<br>"; // 「test」と出力され
ない
> ?>
> 
> //--------------------
> //  クラスA
> //--------------------
> <?php
> class A {
>   var $result = null;
>   function A($result) {

思うに、↑のコードが、function A(&$result)じゃないため、
せっかくつぎの行でリファレンスしてもコピーされたオブジェクトに
代入して表示しているだけだからだと思います。
違いますかね?


>     $this->result =& $result; // 参照で受け取る
>     $this->result->add('name', 'test'); // Resultに値をセット
>     print "A: " . $this->result->get('name') . "<br>"; // 「test」と出力され
る
>   }
> }
> ?>

話は違いますが、この"A.php"ファイルの中で、include/requireしてい
ないのはなんとなく、気持ちが悪いですね。
余計なお世話かもしれないけど…

/*
 * 瀬上 孝司 / SEGAMI Takashi <sage @ microcad.co.jp>
 * 株式会社マイクロ・シー・エー・デー 情報アーキテクチャ室
 */


PHP-users メーリングリストの案内