php phar的创建与使用

phar类似java中的jar包,是一种压缩包。可以对php项目进行打包成 .phar类型的文件,也可以把某个功能模块打包直接发布。

对于phar的创建与使用,php手册中有phar扩展专门针对phar包进行操作,此处简单记录一下自己学习phar的一些心得。

1.配置

要想使用phar文件,必须将phar.readonly配置项配置为0或Off

2.phar函数的使用

// 一个存在的phar文档的路径,或创建一个新的phar文档,返回一个phar对象供后续操作
// 可能会抛出异常,实际开发中应以try...catch包裹
$phar = new Phar('phar/myphar.phar');

// addEmptyDir 添加一个空目录到 phar 档案
// $phar->addEmptyDir('test1');

// addFile — 将一个文件从文件系统添加到 phar 档案中
// $phar->addFile('D:/myweb/apache/htdocs/test1.php','test1/test1.php');
// seeIsRight($phar);
// exit;

// addFromString — 以字符串的形式添加一个文件到 phar 档案
 $phar->addFromString('noindex.php','addFromString('index.php','addFromString('test.php','buildFromDirectory('fileToPhar/');
// seeIsRight($phar);
// exit;

// 来一个解压phar包的函数   extractTo 提取phar文档内容   也可用此检测生成的phar文档是否正确
// $return = $phar->extractTo('pharExtract/',null,true);

// setDefaultStub include phar包时默认执行的文件
// $phar->setDefaultStub('noindex.php');

// 开始使用phar包 在另一个php页面中用可以用如下两种方式调用上述代码生成的phar包
//include 'phar/myphar.phar'; //此方式下 如果调用了 setDefaultStub,会自动执行setDefaultStub指定的文件,否则会默认找index.php
//include 'phar://phar/myphar.phar/noindex.php'; // 此方式 仅仅把某个文件包含进来

// 提取phar文档内容  用来查看每一步操作是否正确
// 当然如果phar文档中只有空目录的话是不会提取出内容的
function seeIsRight(Phar $object){
    $return = $object->extractTo('pharExtract',null,true);
    var_dump($return);
}

更多函数的使用方法,请自行查看php手册

你可能感兴趣的:(php)