Phar::convertToExecutable
phar アーカイブを実行可能な別の phar アーカイブ形式に変換する
&reftitle.description;
public PharnullPhar::convertToExecutable
intnullformat&null;
intnullcompression&null;
stringnullextension&null;
&phar.write;
このメソッドは、phar アーカイブを別のファイル形式に変換します。
たとえば、zip 形式の実行可能な phar アーカイブあるいは
phar 形式の実行可能な phar アーカイブから
tar 形式の実行可能な phar アーカイブを作成することができます。
さらに、tar あるいは phar 形式のアーカイブについてはアーカイブ全体を圧縮することもできます。
何も変更しなかった場合、このメソッドは
BadMethodCallException をスローします。
成功した場合は、このメソッドはディスク上に新しいアーカイブを作成して
Phar オブジェクトを返します。
古いアーカイブは削除されずディスク上に残るので、
処理を終えたら手動で削除する必要があります。
&reftitle.parameters;
format
これは Phar::PHAR、Phar::TAR
あるいは Phar::ZIP のいずれかとなります。
&null; を指定すると、現在のファイル形式をそのまま保持します。
compression
アーカイブ全体の圧縮を行わない場合は Phar::NONE、
zlib による圧縮の場合は Phar::GZ、そして bzip による圧縮の場合は
Phar::BZ2 のいずれかを指定します。
extension
このパラメータは、変換後のアーカイブのデフォルトのファイル拡張子を変更します。
実行可能でない tar や zip アーカイブのファイル名としては
.phar は使用できないことに注意しましょう。
phar 形式のアーカイブに変換する場合、デフォルトの拡張子は圧縮形式によって
.phar、.phar.gz あるいは .phar.bz2
のいずれかとなります。tar 形式のアーカイブの場合、デフォルトの拡張子は
.phar.tar、.phar.tar.gz
および .phar.tar.bz2 です。zip 形式のアーカイブの場合、
デフォルトの拡張子は .phar.zip となります。
&reftitle.returnvalues;
このメソッドは、成功した場合に Phar
オブジェクトを返します。失敗した場合は &null; を返します。
&reftitle.errors;
圧縮ができない場合や無効な圧縮方式が指定された場合、あるいは
Phar::startBuffering でバッファリングしたまま
Phar::stopBuffering を実行していないアーカイブを処理しようとした場合に
BadMethodCallException をスローします。
また、書き込みサポートが無効な場合に
UnexpectedValueException、
phar 作成中に何らかの問題が発生した場合に
PharException をスローします。
&reftitle.changelog;
&Version;
&Description;
8.0.0
format、
compression、
extension は、nullable になりました。
&reftitle.examples;
Phar::convertToExecutable の例
Phar::convertToExecutable() の使用例です。
convertToExecutable(Phar::PHAR); // myphar.phar を作成します
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// myphar.phar.tgz を作成します
$compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// ここでエラー処理をします
}
?>
]]>
&reftitle.seealso;
Phar::convertToData
PharData::convertToExecutable
PharData::convertToData