__construct() 在实例化对象时自动触发执行
__destruct() 脚本运行结束后,改变变量的值,明确的用unset()销毁
__clone() 在克隆一个对象时自动触发,即出现clone时自动触发
__set(不可访问的属性名,不可访问的值) 在为对象初始化一个不可访问的属性时触发
__get(不可访问的属性名) 在获取一个不可访问的属性时触发
__unset(不可访问的属性名) 在使用unset()函数删除一个不可访问的属性时触发
__isset(不可访问的属性名) 在使用isset()函数判断一个不可访问的属性名是否存在时触发
__call(方法名string型,array型) 调用一个不可访问的非静态的对象方法
__callstatic(方法名string型,array型) 调用一个不可访问的静态的对象方法
__sleep() 用于规定哪些属性应该被序列化,在序列化一个对象时自动调用,返回一个索引数组数组内的元素为需要被序列化的属性名的集合。
__wakeup() 在一个对象反序列化的时候自动调用的!主要用来对对象进行相关的初始化操作!
__invoke() 把对象当做函数或方法来调用时触发
__tostring()把一个对象当做字符串来使用时自动触发,返回值可以是该对象序列化的结果