25
2019
05

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/post/8049.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。