__getと__set
存在しないプロパティにアクセスした時に、実行されるメソッドを定義することができます。(private属性が付与されているプロパティをクラス外から呼び出した場合、クラス外からは見えないため、存在しないとみなされます。)そのための特殊なメソッドが、__get(アンダーバー2個)です。引数は呼び出そうとしたプロパティ名です。
class Sample {
public function __get($propName) {
return $propName . " does not exist." ;
}
}
上のソースに加えて下のように書くと、
$obj = new Sample();
echo $obj->hoge;
以下のような結果が返されます。
hoge does not exist.
タグ
2008年11月24日 コメント&トラックバック(0) | トラックバックURL |
カテゴリ: PHP
トラックバック&コメント
この記事のトラックバックURL:
まだトラックバック、コメントがありません。