Files
doc-fr/reference/phar/Phar/convertToExecutable.xml
George Peter Banyard ede1b06016 Sync Phar docs with EN
2021-09-07 17:20:29 +01:00

187 lines
6.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 28046efaba656e158bdf45a2585c23a339943869 Maintainer: gui Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="phar.converttoexecutable" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Phar::convertToExecutable</refname>
<refpurpose>Convertit une archive phar vers un autre format de fichier d'archive phar exécutable</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type class="union"><type>Phar</type><type>null</type></type><methodname>Phar::convertToExecutable</methodname>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>format</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>compression</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>extension</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
&phar.write;
<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'une archive phar basée sur zip
ou à partir d'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.
</para>
<para>
Si aucun changement n'est précisé, cette méthode lève une exception <classname>BadMethodCallException</classname>.
</para>
<para>
En cas de succès, la méthode crée une nouvelle archive sur le disque et retourne un objet <classname>Phar</classname>.
L'ancienne archive n'est pas supprimée du disque, ce qui devrait être fait manuellement à la fin du procédé.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
Ce doit être l'un des formats <literal>Phar::PHAR</literal>, <literal>Phar::TAR</literal>,
ou <literal>Phar::ZIP</literal>. Si ce paramètre est &null;, le format de fichier actuel sera
conservé.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>compression</parameter></term>
<listitem>
<para>
Ce doit être <literal>Phar::NONE</literal> pour aucune compression globale,
<literal>Phar::GZ</literal> la une compression basée sur zlib et
<literal>Phar::BZ2</literal> pour une compression basée sur bzip2.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>extension</parameter></term>
<listitem>
<para>
Ce paramètre est utilisée pour écraser l'extension par défaut d'une archive convertie.
A noter que toutes les archives phar basée sur zip ou sur tar doivent comporter
<literal>.phar</literal> dans leur extension pour être traitées comme une archive phar.
</para>
<para>
Si on convertit vers une archive basée sur phar, les extensions par défaut sont
<literal>.phar</literal>, <literal>.phar.gz</literal>, ou <literal>.phar.bz2</literal>
selon la compression spécifiée. Pour les archives phar basées sur tar, les extensions
par défaut sont <literal>.phar.tar</literal>, <literal>.phar.tar.gz</literal>,
et <literal>.phar.tar.bz2</literal>. Pour les archives phar basées sur zip, l'extension par
défaut est <literal>.phar.zip</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
La méthode retourne un objet <classname>Phar</classname> en cas de succès,
ou &null; en cas d'échec.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Cette méthode lève une exception <classname>BadMethodCallException</classname> si elle n'est pas
capable de compresser, si une méthode de compression inconnue a été spécifiée ou si l'archive demandée
a été mise en tampon avec <function>Phar::startBuffering</function> sans être conclue avec
<function>Phar::stopBuffering</function>, lève une exception <classname>UnexpectedValueException</classname>
si le support en écriture a été désactivé et lève une exception <classname>PharException</classname> si
un quelconque problème a été rencontré pendant la phase de création de l'archive.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>format</parameter>, <parameter>compression</parameter>,
et <parameter>localName</parameter> sont désormais nullable.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un exemple avec <function>Phar::convertToExecutable</function></title>
<para>
Utilisons Phar::convertToExecutable() :
</para>
<programlisting role="php">
<![CDATA[
<?php
try {
$tarphar = new Phar('monphar.phar.tar');
// on le convertit vers le format de fichier phar
// notez bien que monphar.phar.tar n'est *pas* effacé
$phar = $tarphar->convertToExecutable(Phar::PHAR); // crée monphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// crée monphar.phar.tgz
$compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// on traite les erreurs ici
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>Phar::convertToData</function></member>
<member><function>PharData::convertToExecutable</function></member>
<member><function>PharData::convertToData</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->