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

2025-05-29 0 52

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56
<?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);

?>

?

1

2

3

4

5

6

7

8

9

10
<?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 :

?

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

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

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP串行化与反串行化实例分析 https://www.kuaiidc.com/95373.html

相关文章

发表评论
暂无评论