文档章节

PHP PHAR 10分钟体验教程

帖子列表
 帖子列表
发布于 2013/05/22 23:42
字数 296
阅读 7483
收藏 15

既然是10分钟教程,就不要指望很详细了,只是为了初步了解下PHAR,我自己也只是刚接触而已

PHAR: 即 PHP Archive,将这个应用程序打包成单个文件,以利于分发和安装的机制,似乎是从JAVA的JAR借鉴来的东西。

# 目录结构
phar-demo/ # 要打包的应用程序
  --Dates.php # 里面的东西
my-app.php # 在这里可以调用phar文件
phar-builder.php # 用于创建phar文件的文件
phpar-demo.phar # 生产的phar文件

首先,建立phar-demo文件夹:

// phar-demo/Dates.php
namespace PHX;
class Dates{
	public static function next_week(){
		$datetime = new \DateTime();
		$datetime->add(new \DateInterval('P7D'));
		return $datetime->format('Y-m-d');
	}
}
然后:
// phar-builder.php
$phar = new Phar('phar-demo.phar');
$phar->buildFromDirectory(dirname(__FILE__).'/phar-demo', '/\.php$/');
$phar->compressFiles( Phar::GZ );
$phar->stopBuffering();
$phar->setStub( $phar->createDefaultStub('Dates.php') );
然后运行一下 phar-builder.php,这样phar-demo.phar就生成出来了,接着:
// my-app.php
// # 用命令行运行: php my-app.php
require_once 'phar://phar-demo.phar';
echo 'Next week is '. PHX\Dates::next_week() . PHP_EOL;

希望借此抛砖引玉,期待大牛们的教程,更好地学习PHAR!

PS:最重要的部分是在程序代码里加上: huangfeng 爱吴佳旻 , 否则程序会报错!^^



最后推荐一个php教程 比较全:

http://item.taobao.com/item.htm?id=41547768237



© 著作权归作者所有

共有 人打赏支持
帖子列表

帖子列表

粉丝 114
博文 141
码字总数 35661
作品 1
浦东
程序员
私信 提问
加载中

评论(3)

帖子列表
帖子列表

引用来自“Tuesday”的评论

php大师级呀, 前来膜拜.
周二哥别取笑我了
Tuesday
Tuesday
php大师级呀, 前来膜拜.
Tuesday
Tuesday
好文.
ThinkPHP入门 Linux 下 Composer的安装出现如下错误如何解决

问题描述:学习thinphp入门问当时出现如下错误。教程中说明linux and mac 使用如下命令安装(我使用的Linux Deepin2015.1.1+php5.6): curl -sS https://getcomposer.org/installer | php mv ...

viowin
2016/05/06
820
2
windows下安装composer方法

composer是一个新崛起的PHP的依赖管理工具。官方安装方法见: https://getcomposer.org/doc/00-intro.md#installation-windows 。这里提供不修改PATH环境变量的手动安装方法。 此处假定: (...

tree2013
2016/03/18
141
0
【PHP words+perception+trips】

PHP 弱类型语言,大小写敏感,脚本语言(解释性,文本文件执行),服务端。 OOP [Object Oriented Programming] SAPI [Server Application Programming Interface ]服务器端应用编程端口。它...

phala
2015/10/13
40
0
Linux centos 下PHP安装

PHP安装前,需先安装mysql(PHP需要调用mysql的库),另外需要检查系统是否安装了libxl等库的包以及其他环境所需要的包(LAMP环境部署时需要将把需要的包提前装好,否则不能正常进行LAMP环境...

chidongting
2016/06/27
0
0
修改php.ini不起作用是为什么

不管是直接修改 /etc/php5/apache2/php.ini [Phar] ; http://php.net/phar.readonly phar.readonly = Off 还是在程序中动态修改: ini_set("phar.readonly", 0); 都不起作用,提示: $ php ......

添加软件
2013/03/25
2.1K
5

没有更多内容

加载失败,请刷新页面

加载更多

小程序异步操作 跨js执行 在微信小程序里面实现跨页面通信

我们知道,在小程序里面一个页面的变化,是通过调用 setData 函数来实现的。所以想做到在二级页面里让一级页面产生变化,最 Quick And Dirty 的做法就是把一级页面的 this 传入到二级页面去,...

xiaogg
12分钟前
0
0
授于管理员登录其它用户

1.沙盒中,授予管理员登录 安全性控制==>登录访问权限政策

在山的那边
14分钟前
1
0
线程安全的CopyOnWriteArrayList介绍

证明CopyOnWriteArrayList是线程安全的 先写一段代码证明CopyOnWriteArrayList确实是线程安全的。 ReadThread.java import java.util.List; public class ReadThread implements Runnable {......

绝地逢生
16分钟前
0
0
Java重写的7个规则

几年前你可能会遇到这样一个面试题:“重写和重载的区别”、而现在随着科技的更迭、面试的问题越来越高级、面试官的问题也越来越深入、此文是上述面试题的一个延伸、让你从简单的重写规则中更...

architect刘源源
17分钟前
1
0
JavaScript异步编程:Generator与Async

从Promise开始,JavaScript就在引入新功能,来帮助更简单的方法来处理异步编程,帮助我们远离回调地狱。 Promise是下边要讲的Generator/yield与async/await的基础,希望你已经提前了解了它。...

前端攻城老湿
17分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部