[ZF-10089] Zend_Log
[zend.git] / documentation / manual / fr / module_specs / Zend_Serializer-Introduction.xml
blob472feb8cd3b135b76e144362aeeb5db8d57e5a7c
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 21740 -->
3 <!-- Reviewed: no -->
4 <sect1 id="zend.serializer.introduction">
5     <title>Introduction</title>
7     <para>
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.
10     </para>
12     <example id="zend.serializer.introduction.example.dynamic">
13         <title>Utiliser <classname>Zend_Serializer</classname></title>
15         <para>
16             Pour instancier un sérialiseur, vous devriez utiliser la méthode de fabrique
17             d'adaptateurs:
18         </para>
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
25 try {
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) {
32     echo $e;
34 ]]></programlisting>
35     </example>
37     <para>
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>.
40     </para>
42     <para>
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>.
46     </para>
48     <para>
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>:
52     </para>
54     <programlisting language="php"><![CDATA[
55 $serializer = Zend_Serializer::factory('Wddx', array(
56     'comment' => 'serialized by Zend_Serializer',
57 ));
59 try {
60     $serialized = $serializer->serialize($data, array('comment' => 'change comment'));
61     $unserialized = $serializer->unserialize($serialized, array(/* options pour unserialize */));
62 } catch (Zend_Serializer_Exception $e) {
63     echo $e;
65 ]]></programlisting>
67     <para>
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>.
72     </para>
74     <example id="zend.serializer.introduction.example.static.php">
75         <title>Utiliser l'interface statique de Zend_Serializer</title>
77         <para>
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>.
82         </para>
84         <programlisting language="php"><![CDATA[
85 Zend_Serializer::setDefaultAdapter('PhpSerialize', $options);
86 // ou
87 $serializer = Zend_Serializer::factory('PhpSerialize', $options);
88 Zend_Serializer::setDefaultAdapter($serializer);
90 try {
91     $serialized   = Zend_Serializer::serialize($data, $options);
92     $unserialized = Zend_Serializer::unserialize($serialized, $options);
93 } catch (Zend_Serializer_Exception $e) {
94     echo $e;
96 ]]></programlisting>
97     </example>
98 </sect1>