PHP中的魔术方法的触发时机
-
__get($name)
-
当调用一个不可访问的成员属性的时候,会自动触发。可以利用这个方法来完成对不可调用的属性进行调用,但是不能设置值
public class __get($name) { }
-
-
__set($name,$lue)
-
当给一个不可访问的成员属性赋值的时候,会自动触发。可以利用这个方法完成对不可以访问的属性进行赋值
public class __set($name,$lue) { }
-
-
__isset($name)
-
当使用isset函数来判断一个对象的属性的时候,如果这个属性不存在或者不可访问的时候,会触发这个方法
public class __isset($name) { }
-
-
__call($method,$args)
-
当对象调用一个不可访问的成员方法或者不存在的成员方法时会被触发
public class __call($method,$args) { }
-
-
__callStatic($method,$args)
-
当调用一个不可访问的静态成员方法或者不存在的静态成员方法时会被触发
static public class __call($method,$args) { }
-
-
__unset
-
当要销毁不存在的成员属性或者不可以访问的成员属性的时候,会被触发
public function __unset() { }
-
-
__sleep()
-
当用serialize 把对象进行序列化的时候,会被触发。
public function __sleep() { }
-
-
__weakup()
-
当用unserialize 把对象进行反序列化的时候,会被触发。
public function __wakeup() { }
-
-
__toString
-
当 echo 一个对象的时候,会触发
public function __toString() { return '小可爱'; }
-