释放双眼,带上耳机,听听看~!
__construct()
:构造函数,每次new
创建新对象时先调用此方法。__destruct()
:析构函数,对象的所有引用都被删除,或者当对象被显式销毁时执行。__call()
:在对象中调用一个不可访问方法时,__call()
会被调用。__callStatic()
:在静态上下文中调用一个不可访问方法时,__callStatic()
会被调用。__get()
:读取不可访问属性的值时,__get()
会被调用。__set()
:在给不可访问属性赋值时,__set()
会被调用。__isset()
:当对不可访问属性调用 isset()
或 empty()
时,__isset()
会被调用。__unset()
:当对不可访问属性调用 unset()
时,__unset()
会被调用。__sleep()
:serialize()
序列化对象时先调用该方法,用于保存对象属性值。__wakeup()
:unserialize()
反序列化对象时先调用该方法,用于准备对象需要的资源。__toString()
:用于一个类被当成字符串时应怎样回应。例如 echo $obj;
。__invoke()
:当尝试以调用函数的方式调用一个对象时,__invoke()
方法会被自动调用。__set_state()
:调用 var_export()
导出类时,此静态方法会被调用。__clone()
:使用 clone
复制对象在完成时,如果定义了 __clone()
方法,则新创建的对象(复制生成的对象)中的 __clone()
方法会被调用,可用于修改属性的值(如果有必要的话)。__debugInfo()
:var_dump()
对象时调用。