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','<?php echo \'this is noindex file\';');
 $phar->addFromString('index.php','<?php echo \'this is index file\';');
 $phar->addFromString('test.php','<?php echo \'this is test file\';');
// seeIsRight($phar);
// exit;

// apiVersion(); 返回api版本号这是一个静态方法 输出类似  1.1.1
// echo Phar::apiVersion();

// buildFromDirectory 把一个目录下的文件归档到phar档案
// $phar->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手册

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧桐深院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值