Phar の概要:
Phar アーカイブの概念は、Java™ テクノロジーの JAR アーカイブに由来しており、これにより、アプリケーションを、アプリケーションの実行に必要なものがすべて含まれる単一のファイルにパッケージ化できるようになります。このファイルは、実際にはコンパイルされたアプリケーションではなくアーカイブ ファイルであるという点で、C などのプログラミング言語によって通常生成される単一の実行可能ファイルとは異なります。したがって、JAR ファイルには実際にはアプリケーションを構成するファイルが含まれていますが、これらのファイルはセキュリティの理由から慎重に区別されていません。 Phar 拡張機能も同様の概念に基づいていますが、主に PHP の Web 環境向けに設計されています。また、JAR アーカイブとは異なり、Phar アーカイブは PHP 自体で処理できるため、作成または使用するために追加のツールは必要ありません。
Phar 拡張機能は、PHP にとって新しい概念ではありません。これはもともと PHP で書かれ、2005 年に PEAR ライブラリに追加される前は PHP_Archive という名前でした。ただし、実際には、この問題に対する純粋な PHP ソリューションは非常に遅かったため、2007 年に純粋な C 言語拡張機能として書き直され、SPL オブジェクト トラバーサル Phar アーカイブを使用した ArrayAccess のサポートが追加されました。それ以来、Phar アーカイブのパフォーマンスを向上させるために多くの作業が行われてきました。
Phar の作成
Phar ファイルを作成するには、いくつかの手順が必要です。アーカイブを作成するためのスタンドアロン ツールがないため、作成を完了するにはすべての手順で何らかの形式の PHP コマンドが必要です。
以下の記事では、PHP での phar パッケージの使用に関する関連情報を主に紹介しています。必要な方は以下を参照してください。
はじめに
PHP5.3以降、pharという名前のJavaに似たjarパッケージがサポートされています。複数の PHP ファイルを 1 つのファイルにパッケージ化するために使用されます。
まず、php.ini 設定を変更して phar の読み取り専用をオフにする必要があります。デフォルトでは、phar パッケージは書き込むことができず、include はデフォルトでオンになっています。
phar.readonly => On
phar圧縮パッケージを作成します
<?php $phar = new Phar('swoole.phar'); $phar->buildFromDirectory(DIR.'/../', '/\.php$/'); $phar->compressFiles(Phar::GZ); $phar->stopBuffering(); $phar->setStub($phar->createDefaultStub('lib_config.php'));
new Phar
のパラメータは、圧縮パッケージの名前です。 buildFromDirectory は圧縮ディレクトリを指定し、2 番目のパラメータは通常のルールに従って圧縮ファイルの拡張子を指定できます。 new Phar
的参数是压缩包的名称。buildFromDirectory指定压缩的目录,第二个参数可通过正则来制定压缩文件的扩展名。
Phar::GZ
表示使用gzip来压缩此文件。也支持bz2压缩。参数修改为 PHAR::BZ2
Phar::GZ
は、zip を使用してこのファイルを圧縮することを意味します。 bz2圧縮もサポートしています。パラメータを PHAR::BZ2
に変更するだけです。 setSub は起動時にロードするファイルを設定するために使用されます。デフォルトでは、lib_config.php が自動的にロードされて実行されます。
このコードを実行すると、swoole.phar ファイルが生成されます。
phar圧縮パッケージを使用します
<?php include 'swoole.phar'; include 'swoole.phar/code/page.php';
pharを使用すると、コードを簡単にパッケージ化し、オンラインマシンにデプロイするために統合できます。
以上がPHPでのpharパッケージの使用に関する詳細なチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。