Interfaces predefinidas
PHP Manual

La interfaz Serializable

(PHP 5 >= 5.1.0)

Introducción

Interfaz para personalizar la serialización.

Las clases que implementan esta interfaz no soportan __sleep() ni __wakeup(). El método serialize se llama cuando una instancia requiere ser serializada. Esto no invoca __destruct() ni tiene ningún efecto adicional a menos que se programe dentro del método. Cuando los datos son deserializados, la clase es conocida y el correspondiente método unserialize() es llamado como constructor en lugar de llamar al método __construct(). Se puede ejecutar el constructor estándar en el método si fuera necesario.

Sinopsis de la Interfaz

Serializable {
/* Métodos */
abstract public string serialize ( void )
abstract public void unserialize ( string $serialized )
}

Ejemplo #1 Uso básico

<?php
class obj implements Serializable {
    private 
$data;
    public function 
__construct() {
        
$this->data "Mis datos privados";
    }
    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);

var_dump($ser);

$newobj unserialize($ser);

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

El resultado del ejemplo sería algo similar a:

string(38) "C:3:"obj":23:{s:15:"Mis datos privados";}"
string(15) "Mis datos privados"

Tabla de contenidos


Interfaces predefinidas
PHP Manual