php对象串行化

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