pharの使用法の記事は、わざとわかりにくく書いてるんじゃないかって疑いたくなるほど何言ってるのかわかりません。
http://php.net/manual/ja/phar.using.intro.php
あとpharでググってもマニュアルのコピペサイトと「PHP5.3ではpharという機能が使えるぜ!」みたいな記事ばっかりで、実際に使ってみたという話が全然出てきません。
どういうことなんですかね。
仕方ないのでここで実際に使ってみます。
pharとは、要するに単に複数のファイルをひとつにまとめられるというだけのことみたいです。
概念としては、zipみたいに複数のファイルをひとつに固めておいて、使うときに特定のファイルだけ取り出すというイメージでしょうか。
というか実際にpharとzipの変換とかもできたりします。
とりあえず使ってみましょう。
こちらに簡単なpharファイルを用意しました。
中には5つのファイルがありますが、4つはこんな中身のないクラスです。
TestClass1.php
ではこれを読み込んでみます。
'phar://'はpharストリームラッパーで、これからpharファイルを指定することを示しています。
次の'TestClasses.phar'がpharファイル名、最後の'TestClass1.php'がpharアーカイブ中の具体的にインクルードしたいファイル名となります。
このように、pharアーカイブは一見ひとつのファイルですが実質的に複数のファイルとして取り扱うことができ、ファイルをまとめて配布したいときなどに便利です。
ちなみに中を見ればわかりますが基本的に単なるテキストなので、プログラムの隠蔽には使えません。
ところでpharってなんて読むんですかね。ぴゃー?
http://php.net/manual/ja/phar.using.intro.php
あとpharでググってもマニュアルのコピペサイトと「PHP5.3ではpharという機能が使えるぜ!」みたいな記事ばっかりで、実際に使ってみたという話が全然出てきません。
どういうことなんですかね。
仕方ないのでここで実際に使ってみます。
pharとは、要するに単に複数のファイルをひとつにまとめられるというだけのことみたいです。
概念としては、zipみたいに複数のファイルをひとつに固めておいて、使うときに特定のファイルだけ取り出すというイメージでしょうか。
というか実際にpharとzipの変換とかもできたりします。
とりあえず使ってみましょう。
こちらに簡単なpharファイルを用意しました。
中には5つのファイルがありますが、4つはこんな中身のないクラスです。
TestClass1.php
<?php public static function getClassName(){ function getClassName(){ return __CLASS__; } }もうひとつは画像ファイルです。
ではこれを読み込んでみます。
<?php require_once('phar://TestClasses.phar/TestClass1.php'); require_once('phar://TestClasses.phar/TestClass2.php'); print(TestClass1::getClassName());//"TestClass1" print(TestClass2::getClassName());//"TestClass2"非常に簡単です。
'phar://'はpharストリームラッパーで、これからpharファイルを指定することを示しています。
次の'TestClasses.phar'がpharファイル名、最後の'TestClass1.php'がpharアーカイブ中の具体的にインクルードしたいファイル名となります。
このように、pharアーカイブは一見ひとつのファイルですが実質的に複数のファイルとして取り扱うことができ、ファイルをまとめて配布したいときなどに便利です。
ちなみに中を見ればわかりますが基本的に単なるテキストなので、プログラムの隠蔽には使えません。
ところでpharってなんて読むんですかね。ぴゃー?
PR
トラックバック
トラックバックURL: