首页 > 代码库 > php 魔术方法

php 魔术方法

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 判断类中是否包含某个指定名称的函数方法
 



 


php 魔术方法