php重载具体来说指的是动态创建属性与方法。属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。这些方法称为魔术方法。
class Car {
private $ary = array();
public function __set($key, $val) {
$this->ary[$key] = $val;
}
这是关于set的用法。是对原先不存在的属性的赋值。通过this的伪变量,赋值一个新的属性。
public function __get($key) {
if (isset($this->ary[$key])) {
return $this->ary[$key];
}
return null;
}
这是get取值,读取关于$key的取值。
public function __unset($key) {
unset($this->ary[$key]);
}
这个是销毁属性
魔术方法是对属性的进一步的操作。需要认真掌握。