1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 21740 -->
4 <sect1 id="zend.serializer.introduction">
5 <title>Introduction</title>
8 <classname>Zend_Serializer</classname> utilise une interface basée sur des adaptateurs
9 afin de générer des représentations stockables de types php et inversement.
12 <example id="zend.serializer.introduction.example.dynamic">
13 <title>Utiliser <classname>Zend_Serializer</classname></title>
16 Pour instancier un sérialiseur, vous devriez utiliser la méthode de fabrique
20 <programlisting language="php"><![CDATA[
21 $serializer = Zend_Serializer::factory('PhpSerialize');
22 // $serializer est instance de Zend_Serializer_Adapter_AdapterInterface,
23 // précisémment Zend_Serializer_Adapter_PhpSerialize
26 $serialized = $serializer->serialize($data);
27 // $serialized est une chaine
29 $unserialized = $serializer->unserialize($serialized);
30 // ici $data == $unserialized
31 } catch (Zend_Serializer_Exception $e) {
38 La méhode <methodname>serialize</methodname> génère une chaine. Pour regénérer la donnée
39 utilisez la méthode <methodname>unserialize</methodname>.
43 Si une erreur survient à la sérialisation ou désérialisation,
44 <classname>Zend_Serializer</classname> enverra une
45 <classname>Zend_Serializer_Exception</classname>.
49 Pour configurer l'adaptateur, vous pouvez passer un tableau ou un objet instance de
50 <classname>Zend_Config</classname> à la méthode <methodname>factory</methodname> ou aux
51 méthode <methodname>un-/serialize</methodname>:
54 <programlisting language="php"><![CDATA[
55 $serializer = Zend_Serializer::factory('Wddx', array(
56 'comment' => 'serialized by Zend_Serializer',
60 $serialized = $serializer->serialize($data, array('comment' => 'change comment'));
61 $unserialized = $serializer->unserialize($serialized, array(/* options pour unserialize */));
62 } catch (Zend_Serializer_Exception $e) {
68 Les options passées à <methodname>factory</methodname> sont valides pour l'objet crée.
69 Vous pouvez alors changer ces options grâce à la méthode <methodname>setOption(s)</methodname>.
70 Pour changer des options pour un seul appel, passez celles-ci en deuxième arguement des méthodes
71 <methodname>serialize</methodname> ou <methodname>unserialize</methodname>.
74 <example id="zend.serializer.introduction.example.static.php">
75 <title>Utiliser l'interface statique de Zend_Serializer</title>
78 Vous pouvez enregistrer une adaptateur spécifique comme adaptateur par défaut à utiliser
79 avec <classname>Zend_Serializer</classname>. Par défaut, l'adaptateur enregistré est
80 <classname>PhpSerialize</classname> mais vous pouvez le changer au moyen de la méthode
81 statique <methodname>setDefaultAdapter()</methodname>.
84 <programlisting language="php"><![CDATA[
85 Zend_Serializer::setDefaultAdapter('PhpSerialize', $options);
87 $serializer = Zend_Serializer::factory('PhpSerialize', $options);
88 Zend_Serializer::setDefaultAdapter($serializer);
91 $serialized = Zend_Serializer::serialize($data, $options);
92 $unserialized = Zend_Serializer::unserialize($serialized, $options);
93 } catch (Zend_Serializer_Exception $e) {