ホームページ  >  記事  >  バックエンド開発  >  Phar を使用して PHP プログラムをパッケージ化して公開する

Phar を使用して PHP プログラムをパッケージ化して公開する

WBOY
WBOYオリジナル
2016-06-13 12:01:121081ブラウズ

Phar を使用して PHP プログラムをパッケージ化してリリースします

簡単に言えば、Phar は Java の世界から PHP の世界に jar の概念を移植します。

Phar は PHP ファイルのセットをパッケージ化でき、デフォルトで実行されるスタブ (または ?bootstrap ローダーと呼ばれる) を作成することもできます。Phar はそれを圧縮するかどうかを選択でき、gzip および bzip2 形式はオプションです。 。

次に、Phar を作成して使用する方法の例を示します。

プロジェクト名が user で、3 つのファイルが含まれているとします:

user/user.class.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

?

class?user {

????private?$name="anonymous";

????private?$email="[email&#160;protected]";

?

????public?function?set_email($email) {

????????$this->email=$email;
????}
????public?function?set_name( $name) {
????????$this->name=$name;
????}
????public?function?introduce() {
????????echo?"My name is $this->name and my email address is $this->email.n";
????}
?
}

user/user.func.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

?

require_once?"user.class.php";

?

function?make_user($name,$email) {

????$u=new?user();

????$u->set_name($name);
????$u->set_email($email);
????return?$u;
}
?
function?dump_user($u) {
????$u->introduce();
}

user/test.php

1
2
3
4
5
6
7
<?php

require_once?"user.class.php";

?

$u=new?user();

$u->set_name( "laomeng");
$u->set_email("[email protected]");
$u->introduce();

次に、次の PHP プログラムを使用して Phar ファイルを作成します:

make_phar.php

1
2
3
4
5
<?php

$phar?=?new?Phar('user.phar', 0,?'user.phar');

$phar->buildFromDirectory(dirname(__FILE__) .?'/user');
$phar->setStub($phar->createDefaultStub('test.php',?'test.php'));
$phar->compressFiles(Phar::GZ);

php make_phar.php を実行すると、現在のディレクトリに user.phar というファイルが見つかります。

user.phar ファイルを直接実行できます:

php user.phar。これは user/test.php を実行するのと同じです

このファイルを引用することもできます。

test_phar.php

1
2
3
4
5
6
7
8
9
10
11
12
<?php

require_once?"user.phar";

require_once? "phar://user.phar/user.class.php";

$u=new user();

$u->set_name("mengguang");
$u->set_email("[email protected]");
$u->introduce();
?
require_once?"phar://user.phar/user.func.php";
?
$u=make_user("xiaomeng","[email protected]");
dump_user($u);

参考:

https://php.net/manual/en/book.phar.php

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。