1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-24 07:02:06 +01:00
Files
archived-doc-fr/reference/phar/PharData/convertToExecutable.xml
2026-02-15 21:44:26 +01:00

185 lines
6.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f03806fcd8fe03a0501bd40b6e3939ff6589a1d2 Maintainer: gui Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="phardata.converttoexecutable" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>PharData::convertToExecutable</refname>
<refpurpose>Convertit une archive tar/zip non-exécutable en une archive phar exécutable</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="PharData">
<modifier>public</modifier> <type class="union"><type>Phar</type><type>null</type></type><methodname>PharData::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 tar ou zip non-exécutable en une
archive phar exécutable. N'importe lequel des trois formats de fichier
(phar, tar ou zip) peut être utilisé et la compression de l'archive complète est aussi possible.
</para>
<para>
Si aucun changement n'est demandé, cette méthode soulève une exception <classname>BadMethodCallException</classname>.
</para>
<para>
En cas de succès, cette méthode crée une nouvelle archive sur le disque et retourne un objet
<classname>Phar</classname>. L'ancienne archive n'est pas effacée du disque, ceci devant
être fait manuellement une fois le traitement terminé.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
Le format doit être <literal>Phar::PHAR</literal>, <literal>Phar::TAR</literal>
ou <literal>Phar::ZIP</literal>. S'il vaut &null;, le format de fichier actuel sera conservé.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>compression</parameter></term>
<listitem>
<para>
La compression doit être <literal>Phar::NONE</literal> pour éviter la compression de l'archive
complète, <literal>Phar::GZ</literal> pour la compression basée sur zlib, et
<literal>Phar::BZ2</literal> pour la compression basée sur bzip.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>extension</parameter></term>
<listitem>
<para>
Ce paramètre est utilisé pour écraser l'extension de fichier par défaut de l'archive convertie. Notez
que toutes les archives basées sur tar et sur zip doivent contenir
<literal>.phar</literal> dans leur extension de fichier pour pouvoir être traitées comme des archives
phar.
</para>
<para>
En cas de conversion 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>
Cette 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 soulève une exception <classname>BadMethodCallException</classname>
quand elle est incapable de compresser, quand une méthode de compression inconnue a été
spécifiée, quand l'archive demandée est mise en tampon avec
<function>Phar::startBuffering</function> et qu'elle n'a pas été conclue avec
<function>Phar::stopBuffering</function>, soulève une exception
<classname>UnexpectedValueException</classname> si le support en écriture est désactivé,
et soulève une exception <classname>PharException</classname> si des problèmes ont été rencontrés
lors de la création du phar.
</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>PharData::convertToExecutable</function></title>
<para>
Utilisons PharData::convertToExecutable() :
</para>
<programlisting role="php">
<![CDATA[
<?php
try {
$tarphar = new PharData('monphar.tar');
// le convertit au format de fichier phar
// notez que monphar.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 = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// les erreurs sont traitées ici
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>Phar::convertToExecutable</function></member>
<member><function>Phar::convertToData</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
-->