您的位置:首页 > 编程语言 > PHP开发

PHP Serializable 序列表接口

2016-07-14 14:30 579 查看
自定义序列化的接口,需要自己实现serialize和unserialize方法。实现此接口的类将不再支持 __sleep()和__wakeup()。不论何时,只要有实例需要被序列化,serialize方法都将被调用,它将不会调用 __destruct()。当数据被反序列化时,类将被感知并且调用合适的 unserialize()方法而不是调用__construct()。

接口摘要:

Serializable {
/* 方法 */
abstract public string serialize ( void )
abstract public mixed unserialize ( string $serialized )
}

例子说明:
<?php
/**
* 自定义类的序列化操作
*
* @author 疯狂老司机
*/
class obj implements Serializable {
private $data;
public function __construct() {
$this->data = "My private data";
}
public function serialize() {
return serialize($this->data);
}
public function unserialize($data) {
$this->data = unserialize($data);
}
public function getData() {
return $this->data;
}
}

$obj = new obj;
$ser = serialize($obj);
$newobj = unserialize($ser);

var_dump($newobj->getData());
?>

输出:
string 'My private data'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: