PHP中将两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用;
魔术方法包括:
- __construct(), 类的构造函数
- __destruct(), 类的析构函数
- __call(), 在对象中调用一个不可访问方法时调用
- __callStatic(), 用静态方式中调用一个不可访问方法时调用
- __get(), 获得一个类的成员变量时调用
- __set(), 设置一个类的成员变量时调用
- __isset(), 当对不可访问属性调用isset()或empty()时调用
- __unset(), 当对不可访问属性调用unset()时被调用
- __sleep(), 执行serialize()时,先会调用这个函数
- __wakeup(), 执行unserialize()时,先会调用这个函数
- __toString(), 类被当成字符串时的回应方法
- __invoke(), 调用函数的方式调用一个对象时的回应方法
- __set_state(), 调用var_export()导出类时,此静态方法会被调用
- __clone(), 当对象复制完成时调用
- __autoload(), 尝试加载未定义的类
- __debuginfo(), 打印所需调试信息
参考:php中文网
具体对应的各个魔术方法详情进中文网链接如下: