PHP5ではアクセサという仕組みが追加されました。
これは、存在しないメンバ変数に変更を加えようとした際に自動的に呼ばれる set,get メソッドのことです。
class Test{
funciton __set($name,$value)
{
}
function __get($name)
{
}
}
// ↑のように定義します。
$a = new Test;
$a->name = "aaa"; // 値を設定しようとした時点で、$a->__set("name","aaa");が呼ばれます。
echo $a->name; // $a->__get("name") が呼ばれます。
この機能により、__set にて、加工した値をメンバに自動的に挿入といったことが出来るようになります。
存在しないメンバ関数を呼び出そうとした際に呼ばれる __call というものも存在します。
これは、
function __call($name, $params) {
class Test{
function __call($name, $params) {
{
}
}
// ↑のように定義します。
$a = new Test;
$a->jump("hoge"); // __call("jump","hoge") が呼ばれます
このアクセサという仕組みで、より柔軟なプログラミングが出来ますね。アイデア次第でプログラミングを楽にする仕組みが作れそうです。
スポンサードリンク
もどる