[PHP-users 19389]Re: PHP版「社長命令・起立!」/オブジェクトが自分のクラスを認識していない?

ISIGE, Akira xia @ silvia.com
2003年 12月 17日 (水) 15:17:19 JST


いしげ です.

On 2003/12/17 14:58:58 JST,
Ushiro <ushi9999 @ yahoo.co.jp> wrote:

> $shain = new ShainFactory_class();
> if($shain !== NULL) {
>   $shain->set_kihonkyu($kihonkyu);    //※ここでエラー

ソースを見る限り,
変数 $shain には ShainFactory_class クラスのオブジェクトが入るので,
set_kihonkyu() メソッドが存在しないというエラーは正当ですね.

ここの部分は
<?php
  $shain = ShainFactory_class::factory( 'tanto' );
?>
といった呼び出し方にしなければならないのではないかと.


どうしてこのコードで「ファクトリクラスが Shain_Class を返す」と
考えてしまったのか.
PHP では暗黙に自動的コールされるメソッドは全て __ から始まります.
factory() とかは明示的に呼び出さなければいけません.

あと,他の言語からヤミクモに移植する場合,
PHP のオブジェクトの代入は参照渡しでなく値渡しである点とかにも
後でハマったりしそうです.

> http://www.php.net/manual/ja/language.oop.php
マニュアル↑にほとんどの情報が書いてあるので,どうぞ.


--
ISIGE, Akira



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