PHP对象串行化
对象是一种在内存中存储的数据类型,它的寿命通常随着生成该对象的程序终止而终止。有时候可能需要将对象的状态保存下来,需要时再将对象恢复。对象通过写出描述自己状态的数值来记录自己,这个过程称对象的串行化(Serialization)。
以下两种情况需要将对象串行化:
1、对象需要在网络中传输时,将对象串行化成二进制串即可;
2、对象需要持久保存时,将对象串行化后写入文件或数据库
serialize()
serialize() -- 串行化,返回一个包含字节流的字符串
unserialize()
unserialize() -- 反串行化,能够重新把字符串变回php原来的对象值
串行化一个对象将会保存对象的所有属性变量和类名信息,但是不会保存对象的方法
<?php // classa.inc: class A { public $one = 1; public function show_one() { echo $this->one; } } // page1.php: include("classa.inc"); $a = new A; $s = serialize($a); // 把变量$s保存起来以便文件page2.php能够读到 file_put_contents('store', $s); // page2.php: include("classa.inc"); $s = file_get_contents('store'); $a = unserialize($s); // 现在可以使用对象$a里面的函数 show_one() $a->show_one(); ?>
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知