PHP 常用的魔术方法
构造函数
__construct()、
析构函数
__destruct()、
当调用一个未定义(包括没有权限访问)的方法是调用此方法
__call()、
处理静态方法调用
__callStatic()、
当调用一个未定义的属性时访问此方法
__get()、
给一个未定义的属性赋值时调用
__set()、
当在一个未定义的属性上调用isset()函数时调用此方法
__isset()、
当在一个未定义的属性上调用unset()函数时调用此方法
__unset()、
串行化的之前调用
__sleep()、
反串行化之前调用 - 跟上面的sleep是一对
__wakeup()、
一个对象转化成字符串时自动调用
__toString()、
对象赋值是使用的引用赋值,使用clone方法复制一个对象时,对象会自动调用__clone魔术方法,如果在对象复制需要执行某些初始化操作,可以在__clone方法实现
__clone()、
调用函数的方式调用一个对象时,__invoke 方法会被自动调用
__invoke()、
函数方式调用对象时执行
当调用var_export()时
__set_state()、
__autoload()
使用尚未被定义的类时自动调用。通过此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
有点需要注意: 在 __autoload 函数中抛出的异常不能被 catch 语句块捕获并导致致命错误
__debugInfo