未加星标

PHP串行化与反串行化实例分析

字体大小 | |
[开发(php) 所属分类 开发(php) | 发布者 店小二04 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

本文实例讲述php串行化与反串行化。分享给大家供大家参考,具体如下:

对象也是一种在内存中存储的数据类型,他的寿命通常随着生成该对象的程序的终止而终止。有时候可能需要把对象的状态保存下来,需要时再将其回复。串行化是把每个对象转化为二进制字符串。

<?php
class Person {
var $name;
var $sex;
var $age;
function __construct($name = "", $sex = "男", $age = 22) {
$this->name = $name;
$this->sex = $sex;
$this->age = $age;
}
function say() {
echo $this->name . "在说话<br/>";
}
function run() {
echo "在走路<br/>";
}
//串行化的时候自动调用,成员$sex被忽略,只串行$name,$age
function __sleep() {
$arr = array("name","age");
return $arr;
}
//反串行化时自动调用
function __wakeup() {
$this->age = 33;
}
}
class Student extends Person {
var $school;
function __construct($name = "", $sex = "男", $age = 22,$school="") {
parent::__construct($name,$sex,$age);
$this->school = $school;
}
function study() {
echo $this->name."正在".$this->school."学习<br/>";
}
}
class Teacher extends Student {
var $wage;
function teaching() {
echo $this->name."正在".$this->school."教学,每月工资为".$this->wage."<br/>";
}
//如果调用了不存在的方法,将会自动调用__call(),不会报错
function __call($functionName,$args) {
echo "函数名:".$functionName;
print_r($args);
echo "<br/>";
}
}
$teacher1 = new Teacher("kaifu","男",22);
$teacher1->school = "edu";
$teacher1->wage = 4000;
$teacher1->say();
$teacher1->study();
$teacher1->teaching();
$teacher1->hello(1,2,3);
?>

<?php
require_once 'Person.php';
$teacher = new Teacher("tom","男",22);
$teacher_str = serialize($teacher);
file_put_contents("file.txt", $teacher_str);
//反串行化
$objStr = file_get_contents("file.txt");
$t = unserialize($objStr);
echo $t->age;
?>

串行化 file.txt :

O:7:"Teacher":2:{s:4:"name";s:3:"tom";s:3:"age";i:22;}

PHP串行化与反串行化实例分析

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

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

本文开发(php)相关术语:php代码审计工具 php开发工程师 移动开发者大会 移动互联网开发 web开发工程师 软件开发流程 软件开发工程师

主题: PHP数据工资数据库
分页:12
转载请注明
本文标题:PHP串行化与反串行化实例分析
本站链接:http://www.codesec.net/view/523632.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(php) | 评论(0) | 阅读(44)