phar的创建与使用

名词解释

如果你之前开发过Java程序,我相信你肯定知道Jar文件(Jar是Java ARchive的缩写)。一个应用,包括所有的可执行、可访问的文件,都打包进了一个JAR文件里,使得部署过程十分简单。

PHAR (“Php ARchive”) 是PHP里类似于JAR的一种打包文件。如果你使用的是 PHP 5.3 或更高版本,那么Phar后缀文件是默认开启支持的,你不需要任何其他的安装就可以使用它。

如果你以前没有使用过Phar文件,这篇文件就是要介绍关于这种文件的一些重要特征。希望你能发现Phar是一个非常有用的技术,能给你的PHP开发和部署带来更快更好的体验。

创建phar

//产生一个test.phar文件
$phar = new Phar('test.phar', 0, 'test.phar');
// 添加test里面的所有文件到test.phar归档文件
$phar->buildFromDirectory(dirname(__FILE__) . '/test');
//设置执行时的入口文件,第一个用于命令行,第二个用于浏览器访问,这里都设置为index.php
$phar->setDefaultStub('index.php', 'index.php');
**如果报错 则需要在php.ini中加入phar.readonly = off,然后重启**

使用phar

require_once("phar://test.phar")
phar://的意思是声明你包含的是一个phar文件

phar解压

$phar = new Phar('test.phar');
$phar->extractTo('test'); //还原成test文件夹

使用phar需要注意的点

如果你开发的类库或可引用程序需要被多个项目使用,把它打包成Phar文件是一个省事的解决方案。Phar文件是经过高度优化过的,它和普通文件的执行效率相比完全不弱,所以,你不需要担心效率问题。

但需要注意的是,Phar文件的使用有一些限制。下面是一些提示让你更好的理解它:
我们可以整个应用都打包到一个Phar文件里,但Phar只提供了一个单一入口。
在生产环境里,我们应该避免将东西回写进Phar,我们应该将哪些可能被修改的文件放到Phar之外,在标准PHP安装里,Phar是不允许回写的,因为安全问题。

你可能感兴趣的:(php,phar,php)