标签:lin 无法 添加 debug 功能 state 保留 检测 link
1、__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 等方法在 PHP 中被称为"魔术方法"(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。
2、注意事项
PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。
3、__get 和 __set
__get:
__get魔术方法,它是在外部访问该类中不能直接访问的属性时自动被调用
魔术方法都有其默认的定义格式,不能随意的更改
魔术方法不能被添加static静态的修饰符,出了callstatic
__get魔术方法必须有一个返回值
__set:
__set魔术方法,在给类中无法直接访问的属性赋值时自动调用
property_exists 检测类或者对象中是否包含指定名称的属性
4、__call 魔术方法:
在对象中调用一个不可访问方法时,__call() 会被调用。
method_exists 判断类中是否包含某个指定名称的函数方法
标签:lin 无法 添加 debug 功能 state 保留 检测 link
原文地址:http://www.cnblogs.com/zx997/p/7225847.html