<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.phar.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'phar.converttoexecutable.php',
    1 => 'Phar::convertToExecutable',
    2 => 'Convertit une archive phar vers un autre format de fichier d\'archive phar ex&eacute;cutable',
  ),
  'up' => 
  array (
    0 => 'class.phar.php',
    1 => 'Phar',
  ),
  'prev' => 
  array (
    0 => 'phar.converttodata.php',
    1 => 'Phar::convertToData',
  ),
  'next' => 
  array (
    0 => 'phar.copy.php',
    1 => 'Phar::copy',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/phar/Phar/convertToExecutable.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="phar.converttoexecutable" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Phar::convertToExecutable</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8, PECL phar &gt;= 2.0.0)</p><p class="refpurpose"><span class="refname">Phar::convertToExecutable</span> &mdash; <span class="dc-title">Convertit une archive phar vers un autre format de fichier d&#039;archive phar exécutable</span></p>

 </div>


 <div class="refsect1 description" id="refsect1-phar.converttoexecutable-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>Phar::convertToExecutable</strong></span>(<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></span> <code class="parameter">$format</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></span> <code class="parameter">$compression</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$extension</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>): <span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="class.phar.php" class="type Phar">Phar</a></span></span></div>

  <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para">Cette
    méthode nécessite que la variable de configuration INI <code class="literal">phar.readonly</code>
    soit définie à <code class="literal">0</code> pour fonctionner avec les objets <span class="classname"><a href="class.phar.php" class="classname">Phar</a></span>.
    Sinon, une exception <span class="classname"><a href="class.pharexception.php" class="classname">PharException</a></span> sera lançée.</p></p></blockquote>
  <p class="para">
   Cette méthode est utilisée pour convertir une archive phar vers un autre format de fichier. Par exemple,
   elle peut être utilisée pour créer une archive phar basée sur tar en partant d&#039;une archive phar basée sur zip
   ou à partir d&#039;une archive phar exécutable basée sur le format de fichier phar. De plus, elle peut aussi
   être utilisée pour appliquer une compression globale à une archive basée sur tar ou sur phar.
  </p>
  <p class="para">
   Si aucun changement n&#039;est précisé, cette méthode lève une exception <span class="classname"><a href="class.badmethodcallexception.php" class="classname">BadMethodCallException</a></span>.
  </p>
  <p class="para">
   En cas de succès, la méthode crée une nouvelle archive sur le disque et retourne un objet <span class="classname"><a href="class.phar.php" class="classname">Phar</a></span>.
   L&#039;ancienne archive n&#039;est pas supprimée du disque, ce qui devrait être fait manuellement à la fin du procédé.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-phar.converttoexecutable-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">format</code></dt>
     <dd>
      <p class="para">
       Ce doit être l&#039;un des formats <code class="literal">Phar::PHAR</code>, <code class="literal">Phar::TAR</code>,
       ou <code class="literal">Phar::ZIP</code>. Si ce paramètre est <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>, le format de fichier actuel sera
       conservé.
      </p>
     </dd>
    
    
     <dt><code class="parameter">compression</code></dt>
     <dd>
      <p class="para">
       Ce doit être <code class="literal">Phar::NONE</code> pour aucune compression globale,
       <code class="literal">Phar::GZ</code> pour une compression basée sur zlib et
       <code class="literal">Phar::BZ2</code> pour une compression basée sur bzip2.
      </p>
     </dd>
    
    
     <dt><code class="parameter">extension</code></dt>
     <dd>
      <p class="para">
       Ce paramètre est utilisé pour écraser l&#039;extension par défaut d&#039;une archive convertie.
       À noter que toutes les archives phar basées sur zip ou sur tar doivent comporter
       <code class="literal">.phar</code> dans leur extension pour être traitées comme une archive phar.
      </p>
      <p class="para">
       Si on convertit vers une archive basée sur phar, les extensions par défaut sont
       <code class="literal">.phar</code>, <code class="literal">.phar.gz</code>, ou <code class="literal">.phar.bz2</code>
       selon la compression spécifiée. Pour les archives phar basées sur tar, les extensions
       par défaut sont <code class="literal">.phar.tar</code>, <code class="literal">.phar.tar.gz</code>,
       et <code class="literal">.phar.tar.bz2</code>. Pour les archives phar basées sur zip, l&#039;extension par
       défaut est <code class="literal">.phar.zip</code>.
      </p>
     </dd>
    
   </dl>
  </p>

 </div>

 <div class="refsect1 returnvalues" id="refsect1-phar.converttoexecutable-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   La méthode retourne un objet <span class="classname"><a href="class.phar.php" class="classname">Phar</a></span> en cas de succès,
   ou <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> en cas d&#039;échec.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-phar.converttoexecutable-errors">
  <h3 class="title">Erreurs / Exceptions</h3>
  <p class="para">
   Cette méthode lève une exception <span class="classname"><a href="class.badmethodcallexception.php" class="classname">BadMethodCallException</a></span> si elle n&#039;est pas
   capable de compresser, si une méthode de compression inconnue a été spécifiée ou si l&#039;archive demandée
   a été mise en tampon avec <span class="function"><a href="phar.startbuffering.php" class="function">Phar::startBuffering()</a></span> sans être conclue avec 
   <span class="function"><a href="phar.stopbuffering.php" class="function">Phar::stopBuffering()</a></span>, lève une exception <span class="classname"><a href="class.unexpectedvalueexception.php" class="classname">UnexpectedValueException</a></span>
   si le support en écriture a été désactivé et lève une exception <span class="classname"><a href="class.pharexception.php" class="classname">PharException</a></span> si
   un quelconque problème a été rencontré pendant la phase de création de l&#039;archive.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-phar.converttoexecutable-changelog">
  <h3 class="title">Historique</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.0.0</td>
      <td>
       <code class="parameter">format</code>, <code class="parameter">compression</code>,
       et <code class="parameter">extension</code> sont désormais nullable.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-phar.converttoexecutable-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Un exemple avec <span class="function"><strong>Phar::convertToExecutable()</strong></span></strong></p>
    <div class="example-contents"><p>
     Utilisons Phar::convertToExecutable() :
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">try {<br />    </span><span style="color: #0000BB">$tarphar </span><span style="color: #007700">= new </span><span style="color: #0000BB">Phar</span><span style="color: #007700">(</span><span style="color: #DD0000">'monphar.phar.tar'</span><span style="color: #007700">);<br />    </span><span style="color: #FF8000">// on le convertit vers le format de fichier phar<br />    // notez bien que monphar.phar.tar n'est *pas* effacé<br />    </span><span style="color: #0000BB">$phar </span><span style="color: #007700">= </span><span style="color: #0000BB">$tarphar</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">convertToExecutable</span><span style="color: #007700">(</span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">PHAR</span><span style="color: #007700">); </span><span style="color: #FF8000">// crée monphar.phar<br />    </span><span style="color: #0000BB">$phar</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setStub</span><span style="color: #007700">(</span><span style="color: #0000BB">$phar</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">createDefaultStub</span><span style="color: #007700">(</span><span style="color: #DD0000">'cli.php'</span><span style="color: #007700">, </span><span style="color: #DD0000">'web/index.php'</span><span style="color: #007700">));<br />    </span><span style="color: #FF8000">// crée monphar.phar.tgz<br />    </span><span style="color: #0000BB">$compressed </span><span style="color: #007700">= </span><span style="color: #0000BB">$phar</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">convertToExecutable</span><span style="color: #007700">(</span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">TAR</span><span style="color: #007700">, </span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">GZ</span><span style="color: #007700">, </span><span style="color: #DD0000">'.phar.tgz'</span><span style="color: #007700">);<br />} catch (</span><span style="color: #0000BB">Exception $e</span><span style="color: #007700">) {<br />    </span><span style="color: #FF8000">// on traite les erreurs ici<br /></span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-phar.converttoexecutable-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="phar.converttodata.php" class="function" rel="rdfs-seeAlso">Phar::convertToData()</a> - Convertit une archive phar en un fichier non-ex&eacute;cutable</span></li>
    <li><span class="function"><a href="phardata.converttoexecutable.php" class="function" rel="rdfs-seeAlso">PharData::convertToExecutable()</a> - Convertit une archive tar/zip non-ex&eacute;cutable en une archive phar ex&eacute;cutable</span></li>
    <li><span class="function"><a href="phardata.converttodata.php" class="function" rel="rdfs-seeAlso">PharData::convertToData()</a> - Convertit une archive phar en une archive tar ou zip non-ex&eacute;cutable</span></li>
   </ul>
  </p>
 </div>


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