如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

一般来说,都是先创建好各种源码文件后,再进行phar的打包的。事实上,也可以不创建实体文件,来构建一个phar源码包。本文讲述的内容就是:没有实体源码文件,如果构建一个phar包。

正常的构建代码

本文的代码很简单,需要对照这篇文章的内容来学习本文,https://newsn.net/say/php-phar-create.html 。先回顾一下正常的构建代码。

$phar = new Phar('phar.phar');
$phar->buildFromDirectory(__DIR__.'/phar/');
$phar->compressFiles(Phar::GZ);
$phar->setAlias("p.phar");
$phar->setStub($phar->createDefaultStub('lib.php'));

虚拟文件构建代码

我们将使用mapPhar方法来设置一个别名'p.phar',并且写入一个虚拟的txt文件。setStub内部的内容,是构建存根文件的默认格式内容。详细内容,请点击:https://doc.php.sh/zh/phar.setstub.html

$p = new Phar("phar.phar");
$p->compressFiles(Phar::GZ);
$p->startBuffering();
$p['file1.txt'] = 'file1';
$p->setStub("<?php
    Phar::mapPhar('p.phar');
__HALT_COMPILER();");
$p->stopBuffering();

虚拟实体文件源码,构建phar文件包 - code

结论

这种方式可以添加虚拟的文件到phar内部,等同于实际的通过源码创建phar的过程。更多有关phar的相关经验文章,请点击这里查看。https://newsn.net/tag/phar/

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。