【PHP8.x】PharData::convertToExecutable()メソッドの使い方
convertToExecutableメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
convertToExecutableメソッドは、PharDataオブジェクトが表すデータアーカイブを、PHPスクリプトとして直接実行可能なPharアーカイブ形式に変換するメソッドです。
PharDataアーカイブは、プログラムのデータやファイルを一つにまとめるためのもので、例えば.tarや.zipといった形式で利用されますが、これらはPHPのコードとして直接実行することはできません。このconvertToExecutableメソッドを利用することで、このようなデータアーカイブを実行可能な自己完結型のアプリケーションパッケージである.pharファイルに変換することができます。
メソッドには、変換後のアーカイブ形式(例えばPhar::PHARを指定してPHP実行可能な形式に)、および圧縮方式(例えばPhar::GZでgzip圧縮、Phar::BZ2でbzip2圧縮、またはPhar::NONEで無圧縮)を指定することができます。これにより、配布したいアプリケーションの形式やサイズに応じて柔軟に設定が可能です。
変換が成功すると、新しく生成された実行可能なPharアーカイブを表すPharオブジェクトが返されます。このオブジェクトを通じて、変換後のアーカイブに対してさらに操作を行うことができます。このメソッドは、PHPアプリケーションを単一のファイルとして配布し、簡単に実行可能にするための重要な手段となります。ただし、変換元のPharDataアーカイブが正しく存在し、ファイルシステムへの書き込み権限があることが前提となります。
構文(syntax)
1<?php 2$pharData = new PharData('path/to/archive.tar'); 3$phar = $pharData->convertToExecutable(Phar::PHAR, Phar::GZ, '.phar'); 4?>
引数(parameters)
int $format = 0, int $compression = 0, ?string $extension = null
- int $format = 0: 変換後のアーカイブフォーマットを指定する整数。0はPHAR、1はZIP。
- int $compression = 0: 圧縮方法を指定する整数。0は圧縮なし、3はGZ、4はBZ2。
- ?string $extension = null: 変換後のファイル拡張子を指定する文字列。指定しない場合は、フォーマットに応じたデフォルト拡張子が使用される。
戻り値(return)
Phar|false
指定されたPHPのPharData::convertToExecutableメソッドは、PharアーカイブをPHPの実行可能形式に変換した新しいPharオブジェクトを返します。変換に失敗した場合はfalseを返します。