2008年7月5日 星期六

PHP程式師都應該會用的五個工具

在參與了幾個大型PHP項目,寫了很多PHP代碼以後,我發現很多工具可以提高代碼品質,簡化發佈,使得做為PHP開發人員的生涯變得輕鬆許多。許多這樣的工具可能已經為大家所用。但是,由於一些人甚至沒有注意到這些工具的存在,我會從此開始,好了,不說廢話,下面是我認為所有PHP程式師應該知道的工具列表。

Phing - 一個專案構建系統
Phing 是一個基於Apache ANT 的專案構建系統。它的名字是一個拗口的語句首字母縮寫 - PHing Is Not GNU make 。Phing可以做傳統構建系統比如 GNU make 能做的任何事情,同時沒有陡峭的學習曲線。
在phing(以及其他的構建系統)背後的思想是評估一系列相關性,然後執行一系列PHP類去正確的安裝和配置一個應用系統。構建過程用一個簡單的XML設定檔控制。Out of the box, phing內置可以執行一系列替換(比如:在你的開發版本和產品版本間改變include路徑)、執行SQL語句、移動和複製檔、運行外部腳本等等。通過擴展包含在發行包中的“task”類,你也可以創造自己的定制任務。
對任何需要在超過一台伺服器上部署大型PHP應用的人來世,Phing是一個無價之寶。同時我發現它對簡單的PHP腳本也是很有用的。

Xdebug - 調試和分析工具
Xdebug 是幫助你調試和分析腳本的一個PHP擴展。Xdebug中最有用的特性是在啟動後顯示的新注意資訊、警告資訊和錯誤資訊。如果一個腳本不能正常運行,Xdebug將會輸出關於錯誤資訊的完整堆跟蹤 ,會附帶函數名稱、參數值、原始檔案和行號。這對於厭倦了PHP默認只帶的可憐的錯誤報告功能的程式師是一個值得歡迎的特性。

這個擴展有很多更先進的功能,允許開發人員進行代碼覆蓋率分析,收集分析資訊以及互動式地調試腳本。profiling functionality 功能尤其有用。分析器使用一個普通的輸出檔案格式,允許你使用象 KCacheGrind 這樣的工具快速發現你代碼中的瓶頸。對任何嚴肅的開發人員而言,一個好的分析器是基本工具,它使得你妥善優化你的代碼,同時避免過早優化帶來的危害。

PHPUnit - 單元測試框架
PHPUnit 是一個羽量級的PHP測試框架。它是在PHP5下面的 JUnit 3.8.1 完整移植,是xUnit 測試框架家族的一員(它們基於軟體模式 先鋒 Kent Beck 的設計)。
單元測試是幾個現代敏捷開發方法的基礎,使得PHPUnit成為許多大型PHP項目的關鍵工具。這個工具也可以被前面討論的Xdebug擴展用來生成代碼覆蓋率報告 ,並且可以與phing集成來自動測試。

Propel - ORM(物件關係映射)框架 網頁教學網
Propel是一個PHP5下面的物件關係映射(ORM)框架,它起源於Apache Torque項目。它提供了一個複雜但是易用的資料庫抽象層,使得你可以在PHP中象使用普通類和物件一樣得使用資料庫實體。Propel允許你使用一種簡單的XML格式定義你的資料庫,這個XML檔被用來映射資料庫,生成應用中使用的靜態類。 網頁教學網
Propel被內嵌於流行的Symfony PHP框架 (還有其他的),它使得代碼更靈活、模組化以及可移植。這個項目有The project has 出色的文檔,以及很棒的支持社區。

phpMyAdmin / phpPgAdmin - 基於web的資料庫管理系統
歷史有點長可是還是很有用,phpMyAdmin是對於任何資料庫(對應PostgreSQL和SQLite是phpPgAdmin 和 phpSQLiteAdmin)最有用的管理工具之一。它有助於做每一件事情 - 從為了調試應用去創建和刪除資料庫到做備份。安裝它通常是我在一個LAMP伺服器上面安裝完 Apache, PHP和MySQL後做的第一件事情。如果你使用MySQL,不知何故還沒聽說過它,那麼現在就安裝 。


其他工具
還有很多優秀的工具用以符合各種需要,説明PHP開發者創建一個豐富的開發環境 — 我希望我可以說到所有這些工具。我發現對自己有用的工具有PHP Beautifier, Spyc, Creole和Smarty。我確信還有很多我忘記或者沒聽說過的有用工具。因此,如果你知道某個我遺漏的PHP開發偉大工具,請留言讓我(以及所有人)知道!

摘自:http://www.webjx.com/php/php_2007_11_09_850.html

沒有留言:

wibiya widget