串行化:有时候需要把一个对象放在网络上传输,为了方便传输,会把对象转换成二进制串,等到另外一段时,再还原为原来的对象,这个过程称之为串行化
有两种情况情况我们必须把对象串行化,第一种是对象在网络中传输时,第二种是把对象写入文件或是数据库时
串行化有两个过程:串行化,把对象转换为二进制字符串使用serialize函数 反串行化:把二进制字符串还原为对象unserialize函数
seriasize函数:以对象为参数,返回一个二进制的字符串
unserialize()函数来反串行化对象,这个函数的参数即为serialize()函数的返回值,
输出当然是重新组织好的对象
在php5 中有两个魔术方法__sleep()方法和__wakeup()方法,在对象串行化的时候,会调用一
个__sleep()方法来完成一些睡前的事情;而在重新醒来,即由二进制串重新组成一个对象的时候,
则会自动调用PHP 的另一个函数__wakeup(),做一些对象醒来就要做的动作
__sleep()函数不接受任何参数, 但返回一个数组,其中包含需要串行化的属性。末被包含的
属性将在串行化时被忽略,如果没有__sleep()方法,PHP 将保存所有属性