[PHP-users 6358] Re: クラス内で定義した変数がUndefined property となる。

古川敦史 php-users@php.gr.jp
Wed, 20 Mar 2002 17:00:35 +0900


古川です。こちらのミスでした。

>         $this->keisya3->brand = NULL;
> という部分がありますよね、
>>         $this->keisya3->brand = NULL;
> と書くのと
> 
>         $this->keisya3->brand = "";
> と書くのでは、明らかに意味が違いますよね。
> 
> つまり、マニュアルのヌルの部分を読むと
> //特別な ヌル値は、ある変数が値を持たないことを表 します。 
> //
> //注意 ヌル型は、PHP 4で導入されました。 
> と書かれていますから
> PHP は、ヌル型の値を持たない変数なのか、文字型の変数なのか
> 困ったりしないでしょうか。
> で、
>         var r $brand = "";          /* 掲載社名 */
> と宣言部で文字型だと伝えて
> 
>         $this->keisya3->brand = "";
> と書いたら挙動が換わったりしないですか?
いえ、上記の部分で正しいです。
つまり、参照しようとしたプロパティが設定されていないために出たエラーでした。

蛇足ですが、
エラーメッセージの "Undefined property:"を
クラスで定義していないためと思い込んでいたため、見当違いのところを探していました。

このメッセージが出たときは、値の代入部を見なくちゃいけないということですね。


-- /SHNet
Furukawa Atsushi / 古川 敦史
E-Mail: furukawa@shnet.co.jp
PHS: 070-5551-7606
HomePage: http://www.shnet.co.jp/