PHP魔术方法
__construct();//构造函数 new 对象的时候自动执行
__destruct();//析构函数 显示、隐示销毁对象是自动调用执行(die();也会调用)
__call();//调用对象不存在的方法时存在__call()会自动调用
__callStatic();//调用对象不存在的静态方法时存在__callStatic()自动调用
__get();//调用对象不存在的属性时自动调用
__set();//设置对象不存在的属性时自动调用
__isset();//判断对象属性是否存在时会自动调用
__unset();//销毁一个对象时会自动调用
__sleep();//serialize()序列化对象前存在__sleep()会自动调用
__wakeup();//unserialize()反序列化对象时调用前存在__wakeup()会自动调用
__invoke();//把对象以函数的方式调用时会自动执行
__set_state();//调用var_export()函数时会自动调用
__clone();//克隆一个对象时会被自动调用
__toString();//在直接输出对象引用时自动调用的