php对象存在于计算机内存中,如果想将对象保存下来,就需要把对象串行化。
串行化就是把整个对象转化为二进制字符串,使用函数serialize()。对象串行化经常用在
对象需要在网络中传输
对象需要永久保存,串行化后写入文件或者数据库。
串行化的逆过程是反串行化,就是把对象串行化转化的二进制字符串再转化为对象,使用函数unserialize()。
<?php /** * 声明一个Person类,用来演示对象串行化 * @author youthflies */ class Person { private $name; private $age; private $email; //声明构造函数 function __construct($name="Tom", $age=1, $email="helloworld@123.com") { $this->name = $name; $this->age = $age; $this->email = $email; } public function printInfo() { echo "<br/>" . $this->name . " " . $this->age . " " . $this->email . "<br />"; } } $person1 = new Person("yeetrack", 12, "yeetrack@123.com"); $person1_string = serialize($person1); //将串行化后的字符串打印出来 echo $person1_string; //保存到文件中 file_put_contents("Person.txt", $person1_string); //在将串行化产生的字符串反串行化 $string = file_get_contents("Person.txt"); $persion2 = unserialize($string); $persion2->printInfo(); ?>
运行效果如下图:
版权声明
本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。
© 空空博客,本文链接:https://www.yeetrack.com/?p=94
近期评论