主要函数

#  将对象序列化后返回
serialize()
#  将字符串反序列化后返回
unserialize()

魔术方法

方法名触发条件
__construct创建对象
__destruct销毁对象
__sleep序列化对象
__wakeup反序列化得到对象
__invoke以函数的形式调用对象
__toString以字符串的形式调用对象(改方法返回值为字符串)
__call在对象上下文中调用不可访问的方法
__callStatic在静态上下文中调用不可访问的方法
__get从不可访问的属性中读取数据
__set将数据写入不可访问的数据
__isset在不可访问的属性上调用isset()或empty()方法
__unset在不可访问的属性上使用unset()方法

技巧

  1. 当序列化字符串中的属性个数大于原本属性个数时,将不触发__wakeup()
  2. 注入对象构造方法触发同名函数