1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-27 09:18:07 +02:00
Files
Sergey Panteleev 6d43fd64d7 Исправление форматирования
[skip-spellcheck]
[skip-lint]
2022-12-27 03:42:36 +03:00

181 lines
7.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f03806fcd8fe03a0501bd40b6e3939ff6589a1d2 Maintainer: rjhdby 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>Конвертация phar-архива в незапускаемый tar/zip-архив</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>
Этот метод используется для преобразования незапускаемого tar/zip-архива в
другой незапускаемый формат.
</para>
<para>
Если не указано никаких изменений, то будет выброшено исключение
<classname>BadMethodCallException</classname>.
Этот метод можно использовать для преобразования tar-архива в zip-архив и наоборот.
Несмотря на то что, что можно изменить сжатие для tar-архива с помощью
этого метода, для этих целей лучше использовать метод
<function>PharData::compress</function>.
</para>
<para>
В случае успешного выполнения будет создан новый архив на диске и возвращён объект
<classname>PharData</classname>. Старый архив удаляться не будет.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
Одна из констант: <literal>Phar::TAR</literal>
или <literal>Phar::ZIP</literal>. Если задать как &null;, то будет использован текущий формат.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>compression</parameter></term>
<listitem>
<para>
Одна из констант: <literal>Phar::NONE</literal> (для отключения сжатия всего архива),
<literal>Phar::GZ</literal> (для zlib-сжатия),
<literal>Phar::BZ2</literal> (для bzip-сжатия).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>extension</parameter></term>
<listitem>
<para>
Этот параметр используется для явного указания расширения нового архива.
Обратите внимание, что для незапускаемых архивов ни в коем случае нельзя
допускать появление подстроки <literal>.phar</literal> в любом месте имени файла.
</para>
<para>
По умолчанию для tar-архивов используются расширения: <literal>.tar</literal>,
<literal>.tar.gz</literal> и <literal>.tar.bz2</literal>. Для zip-архивов: <literal>.zip</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Метод возвращает объект <classname>PharData</classname> или &null; в случае возникновения ошибки.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Метод выбрасывает исключение<classname>BadMethodCallException</classname> когда
не может произвести сжатие, когда задан неизвестный метод сжатия, для
архива включена буферизация с помощью <function>Phar::startBuffering</function>, и не
отключена при помощи <function>Phar::stopBuffering</function>.
Исключение <classname>PharException</classname> выбрасывается при любых
проблемах создания 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> и <parameter>extension</parameter> теперь допускают значение null.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>PharData::convertToData</function></title>
<para>
Использование PharData::convertToData():
</para>
<programlisting role="php">
<![CDATA[
<?php
try {
$tarphar = new PharData('myphar.tar');
// обратите внимание, что myphar.tar *не* удаляется
// создаём myphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// создаём myphar.tbz
$tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// создаём myphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // выбрасывает исключение
} catch (Exception $e) {
// обработка ошибок
}
?>
]]>
</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
-->