悠悠楠杉
网站页面
魔术方法:某种场景下,能够自动调用的方法
如: __construct、 __destruct、__set、 __get、 __isset、__unset、__call
__construct(): 构造方法,new 实例时,自动调用
__destruct(): 析构方法,对象销毁时自动调用
__get(属性名): 当读取对象的一个不可见属性时,自动调用,并返回值
不可见: 未定义或无权访问时
__set(属性名,属性值): 当对一个不可见的属性赋值时,自动调用
__isset(属性名): 当用isset,或empty判断一个不可见属性时,自动调用
__unset(属性名): 当unset一个不可见属性时,自动调用
<?php
class Human{
//构造方法,new 实例时,自动调用
public function __construct(){
echo '构造方法';
}
//析构方法,对象销毁时自动调用
public function __destruct(){
echo '析构方法';
}
//当读取对象的一个不可见属性时,自动调用,并返回值
public function __get($a){
echo $a;
}
//当对一个不可见的属性赋值时,自动调用
public function __set($b,$c){
echo $b.'-'.$c;
}
//当用isset,或empty判断一个不可见属性时,自动调用
public function __isset($d){
echo $d;
}
//当unset一个不可见属性时,自动调用
public function __unset($f){
echo $f;
}
}
$zhangSan = new Human();
$zhangSan->daQiu;//daQiu
$zhangSan->kan = '变形金刚';//kan-变形金刚
isset($zhangSan->zhangFei);//zhangFei
unset($zhangSan->liuBei);//liuBei