2011年12月25日 星期日

[PHP] Onion For PEAR: 發佈 Onion 0.0.10 bundle 功能


我們目前釋出了 Onion 0.0.10-alpha 的版本,這個版本包含了 bundle 的功能,可以將 PEAR 的相依套件安裝至目前目錄的 vendor 目錄底下,且不需要相依 PEAR Installer 或是 Pyrus。

你可以在 package.ini 內定義好 PEAR 套件的所有相依性,然後執行 onion.phar -d bundle 的命令,Onion 會將所有套件安裝至本地目錄下,且不需要 Root 權限就可以做到。

目前,Onion 是利用 bundle 指令,將 Onion 自己的相依套件全部安裝至 vendor/pear ,然後使用 Onion 自己的 compile 命令,將本身程式碼、相依程式碼、自動類別載入器打包成 phar 的執行檔。

你也可以使用 Onion 來編譯你自己的 phar 函式庫或是執行檔。你可以參考原始碼內的 scripts/compile.sh 命令。

因為 Pyrus 沒有把 Package.xml 剖析器類別、PEAR 頻道探索器等文件寫好,也因為他不是獨立的元件,所以我為 Onion 寫了一個內建的 PEAR 頻道探索器 (PEAR Channel) 以及簡單的 package.xml 剖析器,來處理 PEAR 套件的安裝程序。 這些東西運作的相當快,不過 Channel 的資訊還未被快取起來,只要快取的部份處理好後,速度會比現在更快。

我已經測試了一些 Symfony, PHPUnit, PHPSpec, PEAR 套件,大多數都運作的挺順利,但是可能還有一些 Bug ,如果你遇到了,請發送一個 Issue 給我,Onion 專案是建置在 GitHub 上頭。

Patches, Feature requests are welcomed.


Here is the screenshot:




Related Tweets:

https://twitter.com/#!/yuya_takeyama/status/150642017003778050
https://twitter.com/#!/yuya_takeyama/status/150627664917577728
https://twitter.com/#!/yuya_takeyama/status/150619889244180481