Files
doc-fr/reference/phar/Phar/convertToData.xml
2021-12-16 14:17:32 +00:00

194 lines
6.5 KiB
XML

<?xml version='1.0' encoding='utf-8'?>
<!-- $Revision$ -->
<!-- EN-Revision: 5b4252de4f922948110fdef85c50fd94b093bc03 Maintainer: gui Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="phar.converttodata" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Phar::convertToData</refname>
<refpurpose>Convertit une archive phar en un fichier non-exécutable</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type class="union"><type>PharData</type><type>null</type></type><methodname>Phar::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>
Convertit une archive phar exécutable en un fichier tar ou zip.
Pour rendre le tar ou le zip non exécutable, le conteneur phar
et l'alias phar sont supprimés de l'archive nouvellement créée.
</para>
<para>
Si aucun changement n'est spécifié, cette méthode émet une exception
<classname>BadMethodCallException</classname> si l'archive est dans
le format de fichier phar. Pour les archives basées sur tar ou zip,
cette méthode convertit l'archive en une archive non exécutable.
</para>
<para>
En cas de succès, la méthode crée une nouvelle archive sur le disque
et retourne un objet <classname>PharData</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::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 <literal>.phar</literal> ne peut pas
être utilisé dans le nom de fichier d'une archive tar ou zip
non-exécutable.
</para>
<para>
Si on convertit vers une archive 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 phar 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>
La 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 émet 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>, et émet 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>extension</parameter> sont désormais nullable.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un exemple avec <function>Phar::convertToData</function></title>
<para>
Utilisons Phar::convertToData():
</para>
<programlisting role="php">
<![CDATA[
<?php
try {
$tarphar = new Phar('monphar.phar.tar');
// notez bien que monphar.phar.tar n'est *pas* effacé
// on convertit vers le format de fichier tar non exéctuable
// crée monphar.tar
$tar = $tarphar->convertToData();
// on convertit vers le format de fichier zip non exéctuable et crée monphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// crée monphar.tbz
$tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// crée monphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // émet une exception
} catch (Exception $e) {
// on traite les erreurs ici
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>Phar::convertToExecutable</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
-->