主要函数
# 将对象序列化后返回
serialize()
# 将字符串反序列化后返回
unserialize()魔术方法
| 方法名 | 触发条件 |
|---|---|
| __construct | 创建对象 |
| __destruct | 销毁对象 |
| __sleep | 序列化对象 |
| __wakeup | 反序列化得到对象 |
| __invoke | 以函数的形式调用对象 |
| __toString | 以字符串的形式调用对象(改方法返回值为字符串) |
| __call | 在对象上下文中调用不可访问的方法 |
| __callStatic | 在静态上下文中调用不可访问的方法 |
| __get | 从不可访问的属性中读取数据 |
| __set | 将数据写入不可访问的数据 |
| __isset | 在不可访问的属性上调用isset()或empty()方法 |
| __unset | 在不可访问的属性上使用unset()方法 |
技巧
- 当序列化字符串中的属性个数大于原本属性个数时,将不触发__wakeup()
- 注入对象构造方法触发同名函数