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

 

 

posted @ 2021-05-19 10:11  方达达  阅读(95)  评论(0编辑  收藏  举报