php面象对象魔术方法的使用

class Moshu{
public $number;
public function __construct($str)//构造方法,new实例时,自动调用
{
//require('/config.php');
$this->number=$str;
}
public function __destruct()//析构方法,当对象销毁时自动调用
{
echo '此方法当对象在结束的时候被执行';
}
public function __get($str)//当读取对象的一个不存在的属性时,自动调用,并返回值,不存在:表示未定义或者无权访问时
{
echo $str;
}
public function __set($a,$b)//当对一个不存的的属性进行赋值时,自动调用
{
echo $a."->".$b;//$a表示属性,$b表示值
}
public function __isset($f)//当用isset或者empty判断一个不存在的属性时自动调用
{
echo $f;
}
public function __unset($f)//当unset一个不存在的属性时自动调用
{
echo $f;
}
}
$fun=new Moshu('test');
echo $fun->number;
$fun->aa; //__get
$fun->aa='xx';//__set
isset($fun->aa);//__isset
unset($fun->aa);//__unset

原文地址:https://www.cnblogs.com/bk7788/p/6604480.html