PHP可序列化接口
介绍
的串行化接口存在于PHP库来构建提供custimisedserialzing的类。PHP的serialize()函数能够将大多数值序列化为可存储的表示形式。但是,用户定义类的对象无法序列化。该接口使之成为可能。
语法
Serializable {
/* Methods */
abstract public serialize ( void ) : string
abstract public unserialize ( string $serialized ) : void
}方法
Serializable::serialize—对象的字符串表示形式
Serializable::unserialize—从序列化的字符串表示形式构造对象
内置的serialze()函数生成一个值的可存储表示
serialize ( mixed $value ) : string
unserialize()函数从存储的表示形式创建一个PHP值
unserialize ( string $str [, array $options ] ) : mixed
可序列化的示例
在以下示例中,字符串变量用于myclass的私有属性。当内置serialize()函数使用此类的对象作为参数时,serialize()将自动调用method。类似地,unserialize()函数使用字符串prvate属性重建对象。
示例
<?php
class myclass implements Serializable {
private $arr;
public function __construct() {
$this->arr = "nhooo India (p) Ltd";
}
public function serialize() {
echo "Serializing object..\n";
return serialize($this->arr);
}
public function unserialize($data) {
echo "Unserializing object..\n";
$this->arr = unserialize($data);
}
public function getdata() {
return $this->arr;
}
}
$obj = new myclass;
$serobj = serialize($obj);
var_dump ($serobj);
$obj1 = unserialize($serobj);
var_dump($obj1->getdata());
?>输出结果
上面的程序显示以下输出
Serializing object..
string(55) "C:7:"myclass":36:{s:28:"nhooo India (p) Ltd";}"
Unserializing object..
string(28) "nhooo India (p) Ltd"热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短