風之紫色  BLOG

[收藏]PHP V5.3 中的新特性,使用 Phar 归档

收藏2012-02-20 10:31
Phar 归档的概念来自 Java™ 技术的 JAR 归档,它允许使用单个文件打包应用程序,这个文件中包含运行应用程序所需的所有东西。该文件不同于单个可执行文件,后者通常由编程语言生成,比如 C,因为该文件实际上是一个归档文件而非编译过的应用程序。因此 JAR 文件实际上包含组成应用程序的文件,但是考虑到安全性,不对这些文件进行仔细区分。Phar 扩展正是基于类似的理念,但是在设计时主要针对 PHP 的 Web 环境。同样,与 JAR 归档不同的是,Phar 归档可由 PHP 本身处理,因此不需要使用额外的工具来创建或使用。Phar 扩展对 PHP 来说并不是一个新鲜的概念。它最初使用 PHP 编写并被命名为 PHP_Archive,然后在 2005 年被添加到 PEAR 库。然而在实际中,解决这一问题的纯 PHP 解决方案非常缓慢,因此 2007 年重新编写为纯 C 语言扩展,同时添加了使用 SPL 的 ArrayAccess 对象遍历 Phar 归档的支持。自那时起,人们做了大量工作来改善 Phar 归档的性能。创建 Phar创 建 Phar 文件需要执行若干步骤。所有步骤需要用到某种形式的 PHP 命令完成创建,因为不存在用于创建归档的独立工具。此外,要创建和修改 Phar 文件,php.ini 设置 phar.readonly 必须被设置为 0。在 PHP 的 Phar 归档内打开和引用文件时不需要使用到该设置。让我们看一看创建可用于驱动应用程序的 Phar 文件需要哪些步骤。应用程序的设计目标是从 Web 浏览器或命令提示符直接加载。第一步是创建 Phar 文件,因此我们将创建清单 1 所示的 Phar 对象。对象引用将允许您控制 Phar 归档的所有方面。
创建 Phar 对象
$p = new Phar('/path/to/my.phar', CURRENT_AS_FILEINFO
    Copyright © 風之紫色, All Rights Reserved.Theme by 風之紫色.Style as Facebook.
    Time:0.03686s,Mem1.399592M
    FZ 1.0   Author : 風之紫色