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

172 lines
5.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 28046efaba656e158bdf45a2585c23a339943869 Maintainer: gui Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="phar.compress" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>Phar::compress</refname>
<refpurpose>Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type class="union"><type>Phar</type><type>null</type></type><methodname>Phar::compress</methodname>
<methodparam><type>int</type><parameter>compression</parameter></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>
Dans le cas des archives phar basées sur tar ou sur phar, cette méthode compresse l'archive complète
en utilisant la compression gzip ou bzip2. Le fichier qui en résulte peut être traité avec la commande
gzip/bzip2, ou accédée directement et de façon transparente avec l'extension Phar.
</para>
<para>
Dans le cas des archives phar basées sur Zip, cette méthode échoue en lançant une exception.
L'extension <link linkend="ref.zlib">zlib</link> doit être activée pour compresser avec gzip, tandis que
l'extension <link linkend="ref.bzip2">bzip2</link> doit être activée pour compresser avec bzip2.
Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI
<link linkend="ini.phar.readonly">phar.readonly</link> doit être à off pour fonctionner.
</para>
<para>
En plus, cette méthode renomme automatiquement l'archive, en suffisant son nom par <literal>.gz</literal>,
<literal>.bz2</literal> ou en enlevant l'extension si <literal>Phar::NONE</literal> est passée pour supprimer
la compression. Sinon, une extension de fichier peut aussi être spécifiée en utilisant le second
paramètre.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>compression</parameter></term>
<listitem>
<para>
La compression doit être soit <literal>Phar::GZ</literal>,
soit <literal>Phar::BZ2</literal> pour bénéficier de la compression, ou bien <literal>Phar::NONE</literal>
pour éliminer la compression.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>extension</parameter></term>
<listitem>
<para>
Par défaut, l'extension est <literal>.phar.gz</literal>
ou <literal>.phar.bz2</literal> pour compresser les archives phar, et
<literal>.phar.tar.gz</literal> ou <literal>.phar.tar.bz2</literal> pour
compresser les archives tar. Pour décompresser, les extensions par défaut
sont <literal>.phar</literal> et <literal>.phar.tar</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne un objet <classname>Phar</classname>, ou &null; en cas d'échec.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Lève une exception <classname>BadMethodCallException</classname> si
la variable INI <link linkend="ini.phar.readonly">phar.readonly</link> est à on,
si l'extension <link linkend="ref.zlib">zlib</link>
n'est pas disponible, ou si l'extension <link linkend="ref.bzip2">bzip2</link> n'est pas
activée.
</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>extension</parameter> est désormais nullable.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un exemple avec <function>Phar::compress</function></title>
<programlisting role="php">
<![CDATA[
<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
$p1 = $p->compress(Phar::GZ); // copie vers /chemin/vers/mon.phar.gz
$p2 = $p->compress(Phar::BZ2); // copie vers /chemin/vers/mon.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /chemin/vers/mon.phar existe déjà
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>PharFileInfo::getCompressedSize</function></member>
<member><function>PharFileInfo::isCompressed</function></member>
<member><function>PharFileInfo::compress</function></member>
<member><function>PharFileInfo::decompress</function></member>
<member><function>PharData::compress</function></member>
<member><function>Phar::canCompress</function></member>
<member><function>Phar::isCompressed</function></member>
<member><function>Phar::decompress</function></member>
<member><function>Phar::getSupportedCompression</function></member>
<member><function>Phar::compressFiles</function></member>
<member><function>Phar::decompressFiles</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
-->