PHP 的魔术方法是指 PHP 中以两个下划线 _
开头的类方法
我们自己在定义类方法时不能使用魔术方法的名称,除非是想使用其魔术功能
序号 | 方法名 | 描述 |
---|---|---|
1 | __construct | 构造方法,类被实例化时执行 |
2 | __destruct | 析构方法,对象被销毁时执行 |
3 | __call | 当对象调用一个不可访问的方式时执行 |
4 | __callStatic | 以静态方式调用一个不可访问的方式时执行 |
5 | __get | 读取不可访问或不存在的属性时执行 |
6 | __set | 给不可访问或不存在的属性赋值时执行 |
7 | __isset | 当对不可访问或不存在的属性调用 isset() 或 empty() 时执行 |
8 | __unset | 当对不可访问或不存在的属性调用 unset() 时执行 |
9 | __sleep | 当对象使用 serialize() 序列化时,会先调用该方法 |
10 | __wakeup | 当对象使用 unserialize() 反序列化时,会先调用该方法 |
11 | __serialize() | |
12 | __unserialize() | |
13 | __toString() | 当对象转为字符串类型时执行 |
14 | __invoke() | 当对象被当作函数调用时执行 |
15 | __set_state() | |
16 | __clone() | 当使用 clone 关键字 克隆对象完成后执行 |
17 | __debugInfo() |