Php/docs/class.serializable

来自菜鸟教程
跳转至:导航、​搜索

(No version information available, might only be in Git)

简介

自定义序列化的接口。

实现此接口的类将不再支持 __sleep()__wakeup()。不论何时,只要有实例需要被序列化,serialize 方法都将被调用。它将不会调用 __destruct() 或有其他影响,除非程序化地调用此方法。当数据被反序列化时,类将被感知并且调用合适的 unserialize() 方法而不是调用 __construct()。如果需要执行标准的构造器,你应该在这个方法中进行处理。


接口摘要


Serializable {

/* 方法 */

abstract public serialize ( ) : string

abstract public unserialize ( string $serialized ) : mixed

}

Example #1 Basic usage

<?phpclass 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(15) "My private data"

Table of Contents