PHP自定义序列化接口Serializable用法分析

 更新时间:2017年12月29日 09:21:57   作者:奔跑的码农   我要评论
这篇文章主要介绍了PHP自定义序列化接口Serializable用法,结合实例形式分析了Serializable自定义序列化接口的概念、功能、定义及使用方法,需要的朋友可以参考下

本文实例讲述了PHP自定义序列化接口Serializable用法。分享给大家供大家参考,具体如下:

PHP Serializable是自定义序列化的接口实现此接口的类将不再支持__sleep()和__wakeup(),当类的实例被序列化时将自动调用serialize方法,并且不会调用 __destruct()或有其他影响。当类的实例被反序列化时,将调用unserialize()方法,并且不执行__construct()。接口摘要如下:

Serializable {
  abstract public string serialize ( void )
  abstract public mixed unserialize ( string $serialized )
}

例子说明:

<?php
/**
 * 类自定义序列化相关操作
 *
 * @author 疯狂老司机
 */
class obj implements Serializable {
  private $data;
  private $step = 0;
  /*
   * 构造函数
   */
  public function __construct() {
    $this->data = "这是一段测试文字<br>";
    echo '调用构造函数<br>';
  }
  public function serialize() {
    return serialize($this->data);
  }
  public function unserialize($data) {
    $this->step++;
    $this->data = unserialize($data);
  }
  /*
   * 析构函数
   */
  public function __destruct() {
    echo 'step:'.$this->step.' 调用析构函数<br>';
  }
  public function getData(){
    return $this->data;
  }
}
$obj = new obj;// 调用obj::__construct
$ser = serialize($obj);// 调用obj::serialize
$newobj = unserialize($ser);// 调用obj::unserialize
echo $newobj->getData();// 调用obj::getData
// 执行结束,调用析构函数,先执行newobj对象的析构函数在执行obj对象的析构函数
?>

以上例子输出:

调用构造函数
这是一段测试文字
step:1 调用析构函数
step:0 调用析构函数

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql金沙国际官网操作入门教程》及《php常见金沙国际官网操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php判断终端是手机还是电脑访问网站的思路及代码

    php判断终端是手机还是电脑访问网站的思路及代码

    解下来将写个小程序使用php判断终端是手机还是电脑访问网站,感兴趣的朋友可以参考下哈,希望对你学习php有所帮助
    2013-04-04
  • php多进程应用场景实例详解

    php多进程应用场景实例详解

    这篇文章主要介绍了php多进程应用,结合具体实例形式详细分析了php多进程模块依赖pcntl扩展安装、使用相关操作技巧与注意事项,需要的朋友可以参考下
    2019-07-07
  • PHP 定界符 使用技巧

    PHP 定界符 使用技巧

    因为PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况
    2009-06-06
  • 解析yii金沙国际官网的增删查改

    解析yii金沙国际官网的增删查改

    本篇文章是对yii金沙国际官网增删查改进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php实现映射操作实例详解

    php实现映射操作实例详解

    这篇文章主要介绍了php实现映射操作,结合实例形式详细分析了PHP映射概念、原理及使用链表与二叉树实现映射的相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • PHP面向对象程序设计之对象生成方法详解

    PHP面向对象程序设计之对象生成方法详解

    这篇文章主要介绍了PHP面向对象程序设计之对象生成方法,简单介绍了php常见对象生成模式并结合实例形式分析了php对象生成的单例模式、工厂模式、原形模式等概念与实现技巧,需要的朋友可以参考下
    2016-12-12
  • php判断正常访问和外部访问的示例

    php判断正常访问和外部访问的示例

    这篇文章主要介绍了php判断正常访问和外部访问的方法,需要的朋友可以参考下
    2014-02-02
  • php提交过来的数据生成为txt文件

    php提交过来的数据生成为txt文件

    这篇文章主要介绍了php提交过来的数据生成为txt文件的相关资料,具有参考价值,需要的朋友可以参考下
    2016-04-04
  • PHP+MySQL实现消息队列的方法分析

    PHP+MySQL实现消息队列的方法分析

    这篇文章主要介绍了PHP+MySQL实现消息队列的方法,结合实例形式分析了php+mysql构建消息队列并使用定时器间歇发送信息相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • PHP的全局错误处理详解

    PHP的全局错误处理详解

    php自有try{throw{}}catch{}异常/错误捕获系统,难以在生产环境中运用;生产环境中,我们一般要求,一旦出现异常/错误,php立刻结束脚本,向访客浏览器输出出错提示,并通过自定义函数向管理员发送消息
    2016-04-04

最新评论