2008年06月30日

[PHP] PHP 5.3 的新特色: Phar

註:以下程式我並沒有實作過,只是先分享一下給大家。

PHP 5.3 帶來很多有趣的特色,其中一個就是可以把你的 Library 打包成 phar 格式,並透過 require 敘述來引用裡面的程式碼。

首先你可以用 PHP 5.3 的新類別 Phar 來打包你想要的程式碼 (通常是類別檔案) :

<?php
$phar = new Phar('My.phar', 0, 'My.phar'); // 建立 My.phar 檔案
$phar->buildFromDirectory(
    dirname(__FILE__) . '/My', '/\.php$/'
); // 打包所有 My 目錄下的 php 檔案
$phar->compressFiles( Phar::GZ ); // 以 GZ 格式壓縮
$phar->stopBuffering(); // 壓縮完成,寫入 phar 檔

然後你可以整包引入:

require 'My.phar';

也可以單獨引入其中的某支檔案:

require 'phar://My.phar/src/Test.php';

就連 PHPUnit 3.3試用 Phar 來打包囉了!

那麼效能呢?據 Jan Schneider 的消息指出, PHP 的開發團隊已經把這個功能的效能調整到接近 native PHP 的執行進度了!

很酷吧?期待 PHP 5.3 的來臨吧!

參考



Posted by jaceju at 樂多Roodo! │10:08 │回應(3) PHP
樂多分類:網路/3C 共同主題:PHP 程式設計 工具:加入樂多書籤編輯本文
Ads by Roodo! 
回應文章
為什麼我會聯想到 Java 的 Package 呢?
Posted by tokimeki at 2008年06月30日 16:46

To tokimeki:

因為 PHP 是走 Java 路線呀~

我個人倒是希望它走 JavaScript 路線...
Posted by jaceju at 2008年06月30日 16:51
我也是希望走 JS 路線說...
Posted by tokimeki at 2008年07月2日 14:57