对象串行化
文件:person.class.php
<?php
//声明一个Person类,包含三个成员属性和一个成员方法
class Person {
private $name; //人的名字
private $sex; //人的性别
private $age; //人的年龄
//构造方法为成员属性赋初值
function __construct($name="", $sex="", $age="") {
$this->name = $name;
$this->sex = $sex;
$this->age = $age;
}
//这个人可以说话的方法, 说出自己的成员属性
function say() {
echo "我的名字:".$this->name.",性别:".$this->sex.",年龄:".$this->age."<br>";
}
}
?>
文件:serialize.php
<?php
require "person.class.php"; //在本文件中包含Person类所在的脚本文件
$person = new Person("张三", "男", 20); //能过Person类创建一个对象,对象的引用名为$person
$person_string = serialize($person); //通过serialize函数将对象串行化,返回一个字符串
file_put_contents("file.txt", $person_string); //将对象串行化后返回的字符串保存到file.txt文件中
?>
文件:unserialize.php
<?php
require "person.class.php"; //在本文件中包含Person类所在的脚本文件
$person_string = file_get_contents("file.txt"); //将file.txt文件中的字符串读出来并赋给变量$person_string
$person = unserialize($person_string); //进行反串行化操作,形成对象$person。
$person -> say(); //调用对象中的say()方法,用来测试反串行化对象是否成功
?> |