<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.igbinary.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.igbinary-serialize.php',
    1 => 'igbinary_serialize',
    2 => 'G&eacute;n&egrave;re une repr&eacute;sentation binaire stockable et compacte d\'une valeur',
  ),
  'up' => 
  array (
    0 => 'ref.igbinary.php',
    1 => 'Fonctions de Igbinary',
  ),
  'prev' => 
  array (
    0 => 'ref.igbinary.php',
    1 => 'Fonctions de Igbinary',
  ),
  'next' => 
  array (
    0 => 'function.igbinary-unserialize.php',
    1 => 'igbinary_unserialize',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/igbinary/functions/igbinary-serialize.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.igbinary-serialize" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">igbinary_serialize</h1>
  <p class="verinfo">(PECL igbinary &gt;= 1.1.1)</p><p class="refpurpose"><span class="refname">igbinary_serialize</span> &mdash; <span class="dc-title">Génère une représentation binaire stockable et compacte d&#039;une valeur</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.igbinary-serialize-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>igbinary_serialize</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="simpara">
   Génère une représentation stockable d&#039;une valeur.
  </p>
  <p class="simpara">
   C&#039;est une technique pratique pour stocker ou passer des valeurs PHP entre scripts, sans perdre leur structure ni leur type.
  </p>
  <p class="simpara">
   Pour reconvertir la chaîne de caractères sérialisée en une valeur PHP,
   la fonction <span class="function"><a href="function.igbinary-unserialize.php" class="function">igbinary_unserialize()</a></span> peut être utilisée.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.igbinary-serialize-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <dl>
   
    <dt><code class="parameter">value</code></dt>
     <dd>
      <span class="simpara">
       La valeur à sérialiser. <span class="function"><strong>igbinary_serialize()</strong></span>
       gère tous les types sauf les <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>s et certains <span class="type"><a href="language.types.object.php" class="type object">object</a></span>s (confère la note ci-dessous).
       Même des <a href="language.types.array.php" class="link">tableau</a>x qui contiennent des références à eux-même peuvent être sérialisés avec <span class="function"><strong>igbinary_serialize()</strong></span>.
       Les références circulaires à l&#039;intérieur d&#039;un <a href="language.types.array.php" class="link">tableau</a> ou d&#039;un <a href="language.types.object.php" class="link">objet</a> à sérialiser seront également stockées.
       Toute autre référence sera perdue.
      </span>
      <span class="simpara">
       Lorsqu&#039;il sérialise des objets, igbinary tentera d&#039;appeler les méthodes magiques
       <a href="language.oop5.magic.php#object.serialize" class="link">__serialize()</a> ou
       <a href="language.oop5.magic.php#object.sleep" class="link">__sleep()</a> avant la sérialisation.
       Cela permettra à l&#039;objet de faire un nettoyage de dernière minute, etc., avant d&#039;être sérialisé.
       De même, lorsque l&#039;objet est restauré en utilisant la fonction
       <span class="function"><a href="function.igbinary-unserialize.php" class="function">igbinary_unserialize()</a></span>, une des méthodes magiques <a href="language.oop5.magic.php#object.unserialize" class="link">__unserialize()</a>
       ou <a href="language.oop5.magic.php#object.wakeup" class="link">__wakeup()</a> est appelée.
      </span>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <span class="simpara">
        Les attributs privés d&#039;un objet auront le nom de la classe préfixé au nom de l&#039;attribut;
        les attributs protégés seront préfixés avec un astérisque <code class="literal">&#039;*&#039;</code>.
        Ces valeurs préfixées ont des caractères nuls des deux côtés.
       </span>
      </p></blockquote>
     </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.igbinary-serialize-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   Retourne une chaîne de caractères contenant une représentation du paramètre <code class="parameter">value</code>
   sous forme de flux d&#039;octets qui peut être stocké à n&#039;importe quel endroit.
  </p>
  <p class="simpara">
   Il est à noter que c&#039;est une chaîne binaire qui peut inclure des caractères nuls, et doit donc être stockée et gérée comme telle.
   Par exemple, dans une base de données, la sortie de la fonction <span class="function"><strong>igbinary_serialize()</strong></span>
   doit, en général, être stockée dans un champ de type <code class="literal">BLOB</code>
   plutôt que dans un champ de type <code class="literal">CHAR</code> ou <code class="literal">TEXT</code>.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.igbinary-serialize-examples">
  <h3 class="title">Exemples</h3>
  <div class="example" id="example-1">
   <p><strong>Exemple #1 Exemple avec <span class="function"><strong>igbinary_serialize()</strong></span></strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$ser </span><span style="color: #007700">= </span><span style="color: #0000BB">igbinary_serialize</span><span style="color: #007700">([</span><span style="color: #DD0000">'test'</span><span style="color: #007700">, </span><span style="color: #DD0000">'test'</span><span style="color: #007700">]);<br />echo </span><span style="color: #0000BB">urlencode</span><span style="color: #007700">(</span><span style="color: #0000BB">$ser</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">igbinary_unserialize</span><span style="color: #007700">(</span><span style="color: #0000BB">$ser</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">%00%00%00%02%14%02%06%00%11%04test%06%01%0E%00
array (
  0 =&gt; &#039;test&#039;,
  1 =&gt; &#039;test&#039;,
)</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 notes" id="refsect1-function.igbinary-serialize-notes">
  <h3 class="title">Notes</h3>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    Il est à noter que de nombreux objets internes de PHP ne peuvent pas être sérialisés. Cependant, ceux qui le peuvent
    implémentent soit l&#039;interface <span class="interfacename"><a href="class.serializable.php" class="interfacename">Serializable</a></span> soit les méthodes magiques
    <a href="language.oop5.magic.php#object.serialize" class="link">__serialize()</a>/<a href="language.oop5.magic.php#object.unserialize" class="link">__unserialize()</a>
    ou <a href="language.oop5.magic.php#object.sleep" class="link">__sleep()</a>/<a href="language.oop5.magic.php#object.wakeup" class="link">__wakeup()</a>.
    Si une classe interne ne remplit aucune de ces conditions, elle ne peut pas être sérialisée de manière fiable.
   </span>
   <span class="simpara">
    Il existe des exceptions historiques à cette règle, où des objets internes peuvent être sérialisés
    sans implémenter ni l&#039;interface ni les méthodes magiques.
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.igbinary-serialize-seealso">
  <h3 class="title">Voir aussi</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.serialize.php" class="function" rel="rdfs-seeAlso">serialize()</a> - G&eacute;n&egrave;re une repr&eacute;sentation stockable d'une valeur</span></li>
   <li><span class="function"><a href="function.igbinary-unserialize.php" class="function" rel="rdfs-seeAlso">igbinary_unserialize()</a> - Cr&eacute;e une variable PHP &agrave; partir d'une valeur s&eacute;rialis&eacute;e par igbinary_serialize</span></li>
   <li><span class="function"><a href="function.var-export.php" class="function" rel="rdfs-seeAlso">var_export()</a> - Retourne le code PHP utilis&eacute; pour g&eacute;n&eacute;rer une variable</span></li>
   <li><span class="function"><a href="function.json-encode.php" class="function" rel="rdfs-seeAlso">json_encode()</a> - Retourne la repr&eacute;sentation JSON d'une valeur</span></li>
   <li><a href="language.oop5.serialization.php" class="link">Sérialisation d&#039;objets</a></li>
   <li><a href="language.oop5.magic.php#object.sleep" class="link">__sleep()</a></li>
   <li><a href="language.oop5.magic.php#object.wakeup" class="link">__wakeup()</a></li>
   <li><a href="language.oop5.magic.php#object.serialize" class="link">__serialize()</a></li>
   <li><a href="language.oop5.magic.php#object.unserialize" class="link">__unserialize()</a></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>