__construct(): 构造函数,构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。
__destruct(): 析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。
__call(): 在对象中调用一个不可访问方法时,__call() 会被调用。
__callStatic(); 在静态上下文中调用一个不可访问方法时,__callStatic() 会被调用。
__sleep(): serialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在,该方法会先被调用,然后才执行序列化操作。此功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组。如果该方法未返回任何内容,则 NULL 被序列化,并产生一个 E_NOTICE 级别的错误。
__wakeup(): 用在反序列化操作中,例如重新建立数据库连接,或执行其它初始化操作。
__get(): 读取不可访问属性的值时,__get() 会被调用。
__set(): 在给不可访问属性赋值时,__set() 会被调用。
__isset(): 当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。
__unset(): 当对不可访问属性调用 unset() 时,__unset() 会被调用。
__tostring(): 方法用于一个类被当成字符串时应怎样回应。例如 echo $obj; 应该显示些什么。此方法必须返回一个字符串,否则将发出一条 E_RECOVERABLE_ERROR 级别的致命错误。
__invoke(): 当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。
__set_state(): 当调用 var_export() 导出类时,此静态 方法会被调用。
__clone(): 当复制完成时,如果定义了 __clone() 方法,则新创建的对象(复制生成的对象)中的 __clone() 方法会被调用,可用于修改属性的值(如果有必要的话)。
__debugInfo(): 当用 var_dump() 打印对象时,此方法会被调用
参考:
php 手册