__construct
构造函数,在每次创建新对象时先调用此方法,适合在使用对象之前做一些初始化工作。
__destruct
析构函数,对象销毁时调用。
__call
方法重载,在对象中调用一个不可访问的方法时被调用。
__callStatic
方法重载,在对象中调用一个不可访问的静态方法时被调用。
__get
属性重载,读取不可访问属性的值时被调用。
__set
属性重载,在给不可访问属性赋值时被调用。
__isset
属性重载,当对不可访问属性调用isset或empty函数时被调用。
__unset
属性重载,当对不可访问属性调用unset函数时被调用。
__sleep
序列化对象前被调用。可用于清除对象敏感属性,比如类里包含密码的mysql连接信息,可以在serialize函数执行前清除掉,防止被序列化到数据库中造成泄漏。
__wakup
反序列化对象前被调用。
__toString
输出对象时被调用。如echo $obj,会调用此魔术方法。
__invoke
当尝试以调用函数的方式调用一个对象时被调用。
__autoload
当调用未定义的类时被调用。php7.2.0起已废弃。
__set_state
当调用var_export导出类时被调用。
__clone
对象复制完成时,新对象中的__clone会被调用。
__debugInfo
当调用var_dump函数输出调试信息时被调用。