Programmer's Reference Guide
| Zend_Serializer |
Introduction
Zend_Serializer utilise une interface basée sur des adaptateurs afin de générer des représentations stockables de types php et inversement.
Exemple #1 Utiliser Zend_Serializer
Pour instancier un sérialiseur, vous devriez utiliser la méthode de fabrique d'adaptateurs:
- $serializer = Zend_Serializer::factory('PhpSerialize');
- // $serializer est instance de Zend_Serializer_Adapter_AdapterInterface,
- // précisémment Zend_Serializer_Adapter_PhpSerialize
- try {
- $serialized = $serializer->serialize($data);
- // $serialized est une chaine
- $unserialized = $serializer->unserialize($serialized);
- // ici $data == $unserialized
- } catch (Zend_Serializer_Exception $e) {
- echo $e;
- }
La méhode serialize génère une chaine. Pour regénérer la donnée utilisez la méthode unserialize.
Si une erreur survient à la sérialisation ou désérialisation, Zend_Serializer enverra une Zend_Serializer_Exception.
Pour configurer l'adaptateur, vous pouvez passer un tableau ou un objet instance de Zend_Config à la méthode factory ou aux méthode un-/serialize:
- 'comment' => 'serialized by Zend_Serializer',
- ));
- try {
- } catch (Zend_Serializer_Exception $e) {
- echo $e;
- }
Les options passées à factory sont valides pour l'objet crée. Vous pouvez alors changer ces options grâce à la méthode setOption(s). Pour changer des options pour un seul appel, passez celles-ci en deuxième arguement des méthodes serialize ou unserialize.
Exemple #2 Utiliser l'interface statique de Zend_Serializer
Vous pouvez enregistrer une adaptateur spécifique comme adaptateur par défaut à utiliser avec Zend_Serializer. Par défaut, l'adaptateur enregistré est PhpSerialize mais vous pouvez le changer au moyen de la méthode statique setDefaultAdapter().
- Zend_Serializer::setDefaultAdapter('PhpSerialize', $options);
- // ou
- $serializer = Zend_Serializer::factory('PhpSerialize', $options);
- Zend_Serializer::setDefaultAdapter($serializer);
- try {
- } catch (Zend_Serializer_Exception $e) {
- echo $e;
- }
| Zend_Serializer |
