php serializable,PHP自定义序列化接口Serializable用法分析讲解
这篇文章主要介绍了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 )
}
例子说明:
/**
* 类自定义序列化相关操作
*
* @author 疯狂老司机
*/
class obj implements Serializable {
private $data;
private $step = 0;
/*
* 构造函数
*/
public function __construct() {
$this->data = "这是一段测试文字
";
echo '调用构造函数
';
}
public function serialize() {
return serialize($this->data);
}
public function unserialize($data) {
$this->step++;
$this->data = unserialize($data);
}
/*
* 析构函数
*/
public function __destruct() {
echo 'step:'.$this->step.' 调用析构函数
';
}
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 serializable,PHP自定义序列化接口Serializable用法分析讲解相关推荐
- Java序列化接口Serializable接口的作用总结
一.Java序列化接口Serializable的作用: 一个对象有对应的一些属性,把这个对象保存在硬盘上的过程叫做"持久化". 对象的默认序列化机制写入的内容是:对象的类,类签名, ...
- php nl2p,PHP函数nl2br()与自定义函数nl2p()换行用法分析,nl2brnl2p_PHP教程
PHP函数nl2br()与自定义函数nl2p()换行用法分析,nl2brnl2p 本文实例讲述了PHP函数nl2br()与自定义函数nl2p()换行用法.分享给大家供大家参考,具体如下: 使用情景 很 ...
- java序列化接口Serializable
Serializable接口说明 类的可序列化性通过实现(implements) java.io.Serializable可序列化接口. 没有实现这个接口的类不会将其任何状态序列化或反序列化. 可序列 ...
- php arrayaccess 二维,PHP数组式访问接口ArrayAccess用法分析
本文实例讲述了PHP数组式访问接口ArrayAccess用法.分享给大家供大家参考,具体如下: PHP ArrayAccess接口又叫数组式访问接口,该接口的作用是提供像访问数组一样访问对象的能力. ...
- 5.2 IO流(File类,Propertis配置文件,其他类(打印流,序列流,操作对象的流(序列化接口),随机访问文件的流,管道流,操作基本数据的流,操作数组的流,操作字符串的流),编码表)
1.File类 IO流的流对象只能操作设备上的数据.File类:1.用来将文件或者文件夹(也称目录)封装成对象. 2.方便对文件和文件夹的属性信息进行操作.(操作文件夹,文件的属性(创建时间,修改时间 ...
- 微信公众号 分享接口 签名通过 分享无效果(JSSDK自定义分享接口的策略调整)...
为规范自定义分享链接功能在网页上的使用,自2017年4月25日起,JSSDK"分享到朋友圈"及"发送给朋友"接口,自定义的分享链接,其域名或路径必须与当前页面对 ...
- java序列化库_java 中序列化(Serializable)
18年5月份,在毕业快一年的时候,我终于把自己从研发助理偏向行政打杂,偶尔写一些前端代码的处境,回归到了初衷-安安静静写前后端代码的小小程序员~过程中的心酸也就不在这里吐啦,毕竟我是小太阳,永不熄灭的 ...
- Android序列化:Serializable Parcelable
原文出处:http://blog.csdn.net/jdsjlzx/article/details/51122109?locationNum=14&fps=1 对于Parcel的理解: 在An ...
- java Serializable和Externalizable序列化反序列化详解--转
一.什么是序列化? "对象序列化"(Object Serialization)是 Java1.1就开始有的特性. 简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字 ...
最新文章
- AI 产品经理的三重门
- 一条正确的Java职业生涯规划,从理论到实践!
- 写论文,这个神器不能少!
- influxdb tsm文件_Influxdb中的Compaction操作
- C语言多文件编程基本格式
- UITextView 控件-IOS开发
- 14. model(2)
- 查找算法---二分查找(递归方式)
- C/C++文件操作经验总结
- java自动行走_java数据结构实现机器人行走
- 国内智能硬件行业 调研报告
- 根据城市首字母进行分类,区分多音字,获取城市首字母
- Win10微软输入法不见了
- 综述(十)北京在安全测试示范区上的政策与成果数据分析
- 转:我通过微软亚洲研究院面试的经历
- 刷脸支付便利更好推动普惠金融的落地
- 注册公司流程和费用(2016版)
- 高等数学阶段复习, 函数极限, 连续, 导数,微分
- 巴西龟饲养日志----春日野采
- 到底什么是智能超表面(RIS)?
热门文章
- 放疗是用计算机勾画靶区吗,放疗医生应修炼靶区勾画
- RFID智慧绿色洗涤系统
- 物理学复试面试专业问题最全整理(魔鬼训练)
- python天气预报制作过程_天气变冷了,用Python给父母制作一个天气提醒小助手~...
- 【YOLOX训练部署】将自己训练的YOLOX权重转化成ONNX 并进行推理
- mysql 计算总价_Mysql 存储过程查询总价,函数查询总价
- 目标是最完善的微前端解决方案 - qiankun 2.0
- python怎么设置字体样式_PyQt5 控件字体样式等设置的实现
- godday生成crt和key文件
- 苹果 iOS 第三方应用商店在欧盟上线,开发者并非都很兴奋