1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-24 07:02:08 +01:00
Files
archived-doc-ja/reference/phar/Phar/convertToData.xml
2022-12-13 19:58:20 +09:00

193 lines
7.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f03806fcd8fe03a0501bd40b6e3939ff6589a1d2 Maintainer: takagi Status: ready -->
<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>phar アーカイブを実行可能でない tar あるいは zip ファイルに変換する</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="Phar">
<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>
このメソッドは、実行可能な phar アーカイブを tar あるいは zip ファイルに変換します。
tar あるいは zip を実行可能ではない形式にするため、
phar スタブおよび phar エイリアスファイルはアーカイブから削除されます。
</para>
<para>
何も変更しなかった場合、もしアーカイブが phar 形式ならこのメソッドは
<classname>BadMethodCallException</classname> をスローします。
tar あるいは zip 形式のアーカイブの場合は、
このメソッドはアーカイブを実行可能でない形式に変換します。
</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>
zlib による圧縮の場合は <literal>Phar::GZ</literal>、そして bzip による圧縮の場合は
<literal>Phar::BZ2</literal> のいずれかを指定します。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>extension</parameter></term>
<listitem>
<para>
このパラメータは、変換後のアーカイブのデフォルトのファイル拡張子を変更します。
実行可能でない tar や zip アーカイブのファイル名としては
<literal>.phar</literal> は使用できないことに注意しましょう。
</para>
<para>
tar 形式の phar アーカイブの場合、デフォルトの拡張子は圧縮形式によって
<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>
圧縮ができない場合や無効な圧縮方式が指定された場合、あるいは
<function>Phar::startBuffering</function> でバッファリングしたまま
<function>Phar::stopBuffering</function> を実行していないアーカイブを処理しようとした場合に
<classname>BadMethodCallException</classname> をスローします。
また、phar 作成中に何らかの問題が発生した場合に
<classname>PharException</classname> をスローします。
</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> は、nullable になりました。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>Phar::convertToData</function> の例</title>
<para>
Phar::convertToData() の使用法です。
</para>
<programlisting role="php">
<![CDATA[
<?php
try {
$tarphar = new Phar('myphar.phar.tar');
// myphar.phar.tar は削除 *されない* ことに注意しましょう
// 実行可能ではない tar 形式に変換し
// myphar.tar を作成します
$tar = $tarphar->convertToData();
// 実行可能でない zip 形式に変換し myphar.zip を作成します
$zip = $tarphar->convertToData(Phar::ZIP);
// myphar.tbz を作成します
$tgz = $tarphar->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>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
-->