PHP中魔术方法

1、__get、__set
这两个方法是为在类和他们的父类中没有声明的属性而设计的

2、__isset、__unset
__isset( $property ) 当在一个未定义的属性上调用isset()函数时调用此方法
__unset( $property ) 当在一个未定义的属性上调用unset()函数时调用此方法

3、__call
__call( $method, $arg_array ) 当调用一个未定义的方法是调用此访求

4、__autoload
__autoload 函数,它会在试图使用尚未被定义的类时自动调用。

通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。

5、__construct、__destruct

__construct 构造方法

__destruct 析构方法

6、__clone

__clone魔术方法

7、__toString

__toString方法在将一个对象转化成字符串时自动调用

8、__sleep、__wakeup
__sleep 串行化的时候用
__wakeup 反串行化的时候调用

9、__set_state

当调用var_export()时,这个静态 方法会被调用(自PHP 5.1.0起有效)。

10、__invoke(5.3)

当尝试以调用函数的方式调用一个对象时,__invoke 方法会被自动调用。

11、__callStatic(5.3)

__callStatic() 是为了处理静态方法调用,未定义的静态方法

魔术方法必须被定义为公共的

 

原文地址:https://www.cnblogs.com/liushannet/p/1814804.html