Español | English
Formatos Descargables
Traducción al 28.3% - Actualizado el 2010-02-14 - Revisión 20357 - Versión ZF 1.10.x

Capítulo 60. Zend_Serializer

60.1. Introduction

Zend_Serializer provides an adapter based interface to simply generate storable representation of php types by different facilities, and recover.

Ejemplo 60.1. Using Zend_Serializer dynamic interface

To instantiate a serializer you should use the factory method with the name of the adapter:

$serializer Zend_Serializer::factory('PhpSerialize');
// Now $serializer is an instance of Zend_Serializer_Adapter_AdapterInterface,
// specifically Zend_Serializer_Adapter_PhpSerialize

try {
    
$serialized $serializer->serialize($data);
    
// now $serialized is a string

    
$unserialized $serializer->unserialize($serialized);
    
// now $data == $unserialized
} catch (Zend_Serializer_Exception $e) {
    echo 
$e;
}

The method serialize generates a storable string. To regenerate this serialized data you can simply call the method unserialize.

Any time an error is encountered serializing or unserializing, Zend_Serializer will throw a Zend_Serializer_Exception.

To configure a given serializer adapter, you can optionally add an array or an instance of Zend_Config to the factory or to the un-/serialize methods:

$serializer Zend_Serializer::factory('Wddx', array(
    
'comment' => 'serialized by Zend_Serializer',
));

try {
    
$serialized $serializer->serialize($data, array('comment' => 'change comment'));
    
$unserialized $serializer->unserialize($serialized, array(/* options for unserialize */));
} catch (
Zend_Serializer_Exception $e) {
    echo 
$e;
}

Options passed to the factory are valid for the instantiated object. You can change these options using the setOption(s) method. To change one or more options only for a single call, pass them as the second argument to either the serialize or unserialize method.

Ejemplo 60.2. Using the Zend_Serializer static interface

You can register a specific serializer adapter as a default serialization adapter for use with Zend_Serializer. By default, the PhpSerialize adapter will be registered, but you can change this option using the setDefaultAdapter() static method.

Zend_Serializer::setDefaultAdapter('PhpSerialize'$options);
// or
$serializer Zend_Serializer::factory('PhpSerialize'$options);
Zend_Serializer::setDefaultAdapter($serializer);

try {
    
$serialized   Zend_Serializer::serialize($data$options);
    
$unserialized Zend_Serializer::unserialize($serialized$options);
} catch (
Zend_Serializer_Exception $e) {
    echo 
$e;
}

COMENTARIOS

Loading...