PHP从 5.3开始支持phar,简单点说就是把一些文件打包起来, 也可以理解成是山寨jar。
使用 phar 就是把一堆文件打包成一个文件,
目的是为了 方便分发,部署,管理 ,但个人感觉用处不大,只做学习使用
示例:
首先立了一个foo目录,目录里面有Foo.class.php和index.php两个文件:
< ?php // Foo.class.php class Foo { public function __construct() { echo 'A Foo is created' echo 'and the current dir is ', __DIR__; } } ?> < ?php // index.php require __DIR__.'/Foo.class.php'; $foo = new Foo(); function test() { return 'from test'; } ?>
然后再写一个打包脚本来生成foo.phar文件:
< ?php // archive.php // 打包前 需要设置php.ini中 phar.readonly = off ,默认是on $phar = new Phar('foo.phar', 0, 'foo.phar'); $phar->buildFromDirectory(__DIR__.'/foo'); ?>
打包之前要确保 php.ini 中的 phar.readonly=0,即允许对 phar 作修改操作。
上面代码会将foo目录下的所有文件 打包成一个文件。
使用 phar 包:
< ?php // 引入文件 require 'foo.phar'; // 调用一个方法 echo test(); ?>
将打包好的 random.phar 当作普通文件引入即可,使用和正常脚本没什么不同。
如果只需要引入某一个文件可以这样:
< ?php require 'phar://foo.phar/Foo.class.php'; ?>