PHP_Archive が提供するのは、PHP_Archive クラスと
phar://
ストリームラッパーです。
PHP_Archive を使用すると、自己完結したクロスプラットフォームの
PHP ライブラリやアプリケーションを作成できるようになります。
ファイルの形式や決まりごとは、
Phar
拡張モジュールと同じです。
この拡張モジュールについては PHP のマニュアルで説明されています。
PHP_Archive は、go-pear.phar
や install-pear-nozlib.phar
を作成する際に用いられています。
これらは PHP バージョン 5.1.0 以降に同梱されており、
PEAR インストーラをインストールするために使用します。
PHP_Archive クラスが
Phar クラスと異なる点は、内部のファイルへのアクセスで
ArrayAccess インターフェイスをサポートしていないということです。
また、foreach() でその中身を順に処理することもできません。
しかし、phar://
ストリームラッパーは完全にサポートしていますし、
PHP_Archive::getPharMetaData()
による Phar 固有のメタデータの取得や
PHP_Archive::getFileMetaData()
によるファイルごとのメタデータの取得、
zlib および bzip2 による各ファイルの圧縮や
アーカイブ単位の SHA1/MD5 シグネチャもサポートしています。これらによって、
PHP_Archive は Phar 拡張モジュールと同じくらい強力な機能を提供しています。
PHP_Archive の機能のうち、高度な Phar 作成機能についてはまだドキュメントが存在しません。 しかし、 API ドキュメント で情報が取得できますし、また実際の使用例についても cvs の make-gopear-phar.php で見られます。