__getと__set

__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.

タグ

トラックバック&コメント

この記事のトラックバックURL:

まだトラックバック、コメントがありません。

コメントを投稿する

コメントを投稿するためには ログインしてください。


»
«