オーバーロード
概要
マジックメソッドの__set、__getを使用して未定義のプロパティを参照可能にする
サンプル
<?php
class TestClass03{
// オーバーロードエリア
private $data = array();
// オーバーロードsetメソッド
public function __set($name, $value){
echo "{$name}に{$value}をセット\n";
$this->data[$name] = $value;
}
// オーバーロードgetメソッド
public function __get($name){
// キーの存在チェック
if(isset($this->data[$name])){
echo "{$name}より{$this->data[$name]}を取得\n";
return $this->data[$name];
}
// 取得できない場合
return null;
}
}
?>
<?php
// インスタンス生成
$obj = new TestClass03();
// プロパティ設定
$obj->aaa = "test";
$obj->bbb = "hoge";
// 表示
echo $obj->aaa . "\n";
echo $obj->bbb . "\n";
?>
最終更新:2012年08月18日 00:39