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