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/convertToData.xml
2026-02-15 21:44:26 +01:00

188 lines
6.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f03806fcd8fe03a0501bd40b6e3939ff6589a1d2 Maintainer: gui Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="phardata.converttodata" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>PharData::convertToData</refname>
<refpurpose>Convertit une archive phar en une archive tar ou zip non-exécutable</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="PharData">
<modifier>public</modifier> <type class="union"><type>PharData</type><type>null</type></type><methodname>PharData::convertToData</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>
<para>
Cette méthode est utilisée pour convertir une archive non exécutable tar ou zip en un
autre format non-exécutable.
</para>
<para>
Si aucun changement n'est demandé, cette méthode soulève une exception
<classname>BadMethodCallException</classname>.
Cette méthode doit être utilisée pour convertir une archive tar au format zip et vice-versa.
Bien qu'il soit possible de changer la compression d'une archive tar avec cette méthode, il est
préférable d'utiliser la méthode <function>PharData::compress</function> pour rester cohérent au
niveau de la logique.
</para>
<para>
En cas de succès, cette méthode crée une nouvelle archive sur le disque et retourne un objet
<classname>PharData</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::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 <literal>.phar</literal> ne peut pas être utilisé n'importe où dans le nom de fichier d'une
archive tar ou zip non-exécutable.
</para>
<para>
En cas de conversion vers une archive phar basée sur tar, les extensions par défaut sont
<literal>.tar</literal>, <literal>.tar.gz</literal>
et <literal>.tar.bz2</literal> selon la compression spécifiée.
Pour les archives basées sur zip, l'extension par défaut est <literal>.zip</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Cette méthode retourne un objet <classname>PharData</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>, et soulève une exception
<classname>PharException</classname> si un quelconque problème est rencontré 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>extension</parameter> sont désormais nullable.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un exemple avec <function>PharData::convertToData</function></title>
<para>
Utilisons PharData::convertToData():
</para>
<programlisting role="php">
<![CDATA[
<?php
try {
$tarphar = new PharData('monphar.tar');
// notez que monphar.tar n'est *pas* effacé
// le convertir au format tar non-exécutable
// crée monphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// crée monphar.tbz
$tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// crée monphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // soulève une exception
} 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::convertToExecutable</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
-->