[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 メーリングリストの案内