カテゴリー:
マジックメソッド
閲覧数:780 配信日:2014-01-05 20:58
アクセサ
1.privateプロパティへ値を直接代入しようしてもカプセル化されているため無理。この場合、プロパティは存在しないのと同じ
2.代わりにマジックメソッドがコールされる
3.代わりにコールされたメソッドはアクセサ形式なので、プロパティへ値を代入
class Entry {
private $title;
private $body;
private $posted_at;
private $author;
public function __set($key, $value) {
$this->$key = $value;
}
public function __get($key) {
return $this->$key;
}
}
$entry = new Entry();
$entry->title = 'title';
echo $entry->title; //title