php 序列化方法,PHP序列化操作方法分析
本文实例讲述了PHP序列化操作方法。分享给大家供大家参考,具体如下:
序列化就是将变量数据转换为字符串(跟类型转换机制不同),一般应用于存储数据(文件),然后在别的情形下恢复(反序列化)
序列化:
$val = serialize($var);
file_put_contents('./*.txt',$val);
反序列化:
$val = file_get_contents('./*.txt');
$var = unserialize($val);
当一个对象进行序列化操作时,会自动调用类中的__sleep();
当反序列化一个对象的时候,会自动调用对应类的__wakeup(),反序列操作中,必须具备了对应的类的声明。
__sleep()中可以进行一些数据(资源)的清理关闭操作,并返回一个数组,该数组存储一些需要进行序列化的对象的属性,即可以挑选属性进行序列化。
class bee{
public $a;
protected $b;
private $c;
public function __sleep(){
return array('a','b');
}
}
__wakeup()在进行反序列话操作的时候进行某些有用的‘数据恢复工作',比如连接数据库
public function __wakeup(){
$this->func();
}
__tostring()
当把一个对象当作一个字符串来看待处理的时候,会自动调用该方法。通过该方法可以返回合适的字符串,如果没该定义该方法就会出错。
class bee{
public function __tostring(){
echo 'string';
}
}
$obj = new bee();
//对象不能直接当字符串使用
echo $obj;
__invoke()
当对象当作一个方法使用的时候,会自动调用该方法
class bee{
public function __invoke(){
echo 'invoke';
}
}
$obj = new bee();
//对象不能直接当字符串使用
echo $obj();
希望本文所述对大家PHP程序设计有所帮助。
php 序列化方法,PHP序列化操作方法分析相关推荐
- php php 序列化方法,PHP序列化的4种方法已公布,这是你PHP进阶之路必会的
[摘要]php作为一种编程软件,也能实现很多功能,不过今天环球网校的小编要为大家讲解PHP序列化的4种方法已公布,这是你PHP进阶之路必会的?看完这个代码你就明白了,因为只要你了解了PHP序列化的4种 ...
- krait和kryo_java原生序列化和Kryo序列化性能实例对比分析
简介 最近几年,各种新的高效序列化方式层出不穷,不断刷新序列化性能的上限,最典型的包括: 专门针对java语言的:Kryo,FST等等 跨语言的:Protostuff,ProtoBuf,Thrift, ...
- C# 的三种序列化方法
序列化是将一个对象转换成字节流以达到将其长期保存在内存.数据库或文件中的处理过程.它的主要目的是保存对象的状态以便以后需要的时候使用.与其相反的过程叫做反序列化. 序列化一个对象 为了序列化一个对象, ...
- java-Java可以对方法进行序列化?
Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨. 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列 ...
- 魔术方法 类 序列化_Java序列化魔术方法及其示例使用
魔术方法 类 序列化 在上一篇文章中, 您需要了解有关Java序列化的所有知识 ,我们讨论了如何通过实现Java序列化来启用类的可序列化性. Serializable接口. 如果我们的类未实现Seri ...
- c#.net实体类序列化方法 为什么要序列化
提到为了传递数据,需要把作为载体的实体类序列化,好好的找了一些序列化方面的介绍.感觉下面的这个介绍比较容易介绍! 1.什么是序列化 序列化是将对象状态转换为可保持或传输的格式的过程,在序列化过程中,对 ...
- jquery字符串序列化方法总结
在jquery中字符串序列化方法包括有param() .serialize() .serializeArray(),在这里对其常用做法进行总结. $.param()方法 这是serialize()方法 ...
- JSON 泛型序列化方法 与 LinkedHashMap转成对象
JSON 泛型序列化方法 与 LinkedHashMap转成对象 1.说明 1.JSON 泛型序列化方法 2.1 JSON 源码 2.2 示例 2.3 忽略反转义报错 3.LinkedHashMap ...
- jQuery表单序列化方法serialize(),serializeArray()
我们使用ajax给后台传递数据的时候,经常要获取表单的数据.表单数据不多还好说,但是如果表单字段非常多,那么无疑是非常头疼的事.如何获取大量的表单数据,是非常重要的事情. 表单页面 <for ...
最新文章
- python技术晨讲_python系列教程14
- 启用无密码方式登录ssh
- JBoss was unable to start within 50 seconds-JBoss启动超时
- vue.cli脚手架初次使用图文教程
- 海量数据选取重复次数最多的n个
- 全局eslint不生效的处理
- 【设计模式 03】装饰模式——俄罗斯套娃?
- Lotus,协作领域的常青树
- android setprogress,progressDialog 为什么设置了setProgress()方法无反应?
- 使用隐含参数testMappingSpeed排查GoldenGate抽取慢的步骤
- 如何估算太坊交易的gas消耗量
- sql盲注 解决_SQL盲注攻击的简单介绍
- 励磁电感公式_永磁同步电机交直轴电感计算
- 二元函数对xy同时求导_呆哥数学每日一题 ——求多元函数最小值
- 游戏《部落冲突》中的心理学运用
- c语言程序隔断,别再砌墙了!20种方法让隔断在你家C位出场
- cubieboard服务器系统,CubieBoard_搭建自己的系统.pdf
- yaml-cpp保存标定文件-Node/Emitter
- 苹果提示:“未信任的企业开发者”
- krnln.fnr和shell.fne_电脑开机显示failedtoloadkernllibrary什么意思啊