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

Hayato Imai hayato @ hayajo.dyndns.org
2003年 12月 11日 (木) 17:04:19 JST


PHP-users メーリングリストの皆様

初めまして。今井隼人と申します。

PHPでのオブジェクト指向プログラミングについて皆様にご質問があります。

下記のような関係のクラスを作成したときに、クラスAでクラスResultの状態
を変更し、クラスAを呼び出すPHPスクリプトで変更されたクラスResultの状態
を参照したいと考えています。

    testClass.php ⇒ クラスA ---> クラスResult

そこで、それぞれ下に載せたソースを作成したのですが、testClass.phpで
Resultクラスの状態を参照することができません。

多分ソースが悪いのだと思いますが、色々調べてみても原因がわかりませんで
した。

PHPのバージョンは4.2.3です。

初歩的な質問で申し訳ないのですが、解決方法を教えてはいただけないでしょ
うか?

よろしくお願いいたします。

---------- プログラムソース ----------

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

//--------------------
//  クラスResult
//--------------------
<?php
class Result {
  var $data = Array();
  function add($name, $data) {
    $this->data[$name] = $data;
  }
  function get($name) {
    return $this->data[$name];
  }
}
?>

---
Name: Hayajo
Mail: hayato @ hayajo.dyndns.org


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