忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/11/18 15:38 |
PHP5.3 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


2011/07/22 22:35 | Comments(0) | TrackBack(1) | PHP

トラックバック

トラックバックURL:
前回pharアーカイブを読み込みましたが、今回はそのpharアーカイブを作成してみます。 Pharクラスにはなんかすごい数のメソッドが詰まっていて一見よくわからないのですが、実際使うメソッドはほとんどありません。 Phar::getModifiedとかどんなときに使うんだよって話ですよ。 まず必要なのはphp.iniの設定変更。 pharの作成を公開サーバで行う必要は皆無なので、デフォルトでは禁止されています。 phar.readonly = 0 phar.require_has...
弱小PHPerの憂鬱 | 2011/07/25 22:26

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<今週の実績 2011/07/24 | HOME | PHP5.3.5 tidyでHTMLをパース>>
忍者ブログ[PR]