php如何虚拟文件源码,以构建phar文件包?
发布于 作者:苏南大叔 来源:程序如此灵动~
一般来说,都是先创建好各种源码文件后,再进行phar
的打包的。事实上,也可以不创建实体文件,来构建一个phar
源码包。本文讲述的内容就是:没有实体源码文件,如果构建一个phar
包。
正常的构建代码
本文的代码很简单,需要对照这篇文章的内容来学习本文,
先回顾一下正常的构建代码:
$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
内部的内容,是构建存根文件的默认格式内容。详细内容,请点击:
$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
内部,等同于实际的通过源码创建phar的过程。更多有关phar
的相关经验文章,请点击这里查看。


