__construct 构造函数 初始化赋值 实例化对象的时候自己调用
__destruct 析构方法,PHP 将在对象被销毁前(即从内存中清除前)调用这个方法
__get ($property) 当调用一个未定义的属性时,此方法会被触发,传递的参数是被访问的属性名
__set ($property, $value) 给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值 这里的没有声明包括当使用对象调用时,访问控制为 proteced,private 的属性(即没有权限访问的属性)。
__isset ($property) 当在一个未定义的属性上调用 isset () 函数时调用此方法
__unset ($property) 当在一个未定义的属性上调用 unset () 函数时调用此方法
_call ($method, $arg_array) 当调用一个未定义的方法是调用此方法
__autoload 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
clone 复制一个对象时自动调用 clone 方法,如果在对象复制需要执行某些初始化操作,可以在 clone 方法实现。
__toString 方法在将一个对象转化成字符串时自动调用,比如使用 echo 打印对象时。
__sleep 串行化的时候用
callStatic 它的工作方式类似于 call () 魔术方法,__callStatic () 是为了处理静态方法调用