PHP中文手册

版权信息

PHP 手册

入门指引

安装与配置

语言参考

安全

特点

函数参考

PHP 核心:骇客指南

FAQ

附录

序列化接口

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

简介

自定义序列化的接口。

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

接口摘要

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

Example #1 Basic usage

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

Table of Contents