设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
PHP序列化操作方法分析
返回列表
查看:
902
|
回复:
0
PHP序列化操作方法分析
[复制链接]
bewin83
当前离线
积分
7520
2500
主题
2513
帖子
7520
积分
论坛元老
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
积分
7520
发消息
电梯直达
楼主
发表于 2018-2-14 05:32:31
|
只看该作者
|
倒序浏览
|
阅读模式
本文实例讲述了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字符串(string)用法总结
》、《
PHP数组(Array)操作技巧大全
》、《
PHP基本语法入门教程
》、《
PHP运算与运算符用法总结
》、《
PHP网络编程技巧总结
》、《
php面向对象程序设计入门教程
》、《
php+mysql数据库操作入门教程
》及《
php常见数据库操作技巧汇总
》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:
PHP中的串行化变量和序列化对象
php中serialize序列化与json性能测试的示例分析
解析PHP多种序列化与反序列化的方法
php 中序列化和json使用介绍
php json与xml序列化/反序列化
php序列化函数serialize() 和 unserialize() 与原生函数对比
PHP的serialize序列化数据以及JSON格式化数据分析
详解PHP序列化反序列化的方法
PHP序列化/对象注入漏洞分析
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端