1、 序列化 :将对象通过一系列操作,转化为一个 字符串 的存储起来,并且在需要的时候可以还原出来,称为序列化。
2、反序列化:将序列化后的字符串,再转为对象的过程,称为反序列化。
3、什么时候使用序列化?
1.对象需要在网络中传输的时候2.对象需要在文件或数据库中持久保存的时候
4、怎样实现串行化与反串行化
序列化: $str=serialize($duixiang);反序列化:$duixiang=unserialize($str);
5、__sleep()魔术方法:
1.当执行对象串行化的时候,会自动执行__sleep()函数;
2.__sleep()函数要求返回一个数组,数组中的值,就是可以序列化的属性;不在数组中的属性,不能被序列化;
3.是序列化函数之前时的事情,就像一个 回调函数 ,所以在这个回调函数里面我们就可以做点事情,来隐藏我的秘密,即将原本的值更改,是序列化后不能获取原有值。
function __sleep(){ return array("name","age"); //只有name/age两个属性可以串行化。}
6、__wakeup()魔术方法
1.当反串行化对象时,自动调用__wakeup()方法;
2.自动调用时,用于给反序列化产生的新对象属性,进行重新赋值。
function __wakeup(){ $this -> name = "李四"; }
海报
0 条评论
110
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~