作為一個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 - 調試和分析的PHP開發工具
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的數據庫管理系統
歷史有點長可是還是很有用,是對於任何數據庫(對應PostgreSQL和SQLite是 和 )最有用的管理工具之一。它有助於做每一件事情 - 從為了調試應用去創建和刪除數據庫到做備份。安裝它通常是我在一個LAMP服務器上面安裝完 Apache, PHP和MySQL後做的第一件事情。如果你使用MySQL,不知何故還沒聽說過它,那麼現在就安裝 。phpSQLiteAdminphpPgAdminphpMyAdmin
其他PHP開發工具
還有很多優秀的工具用以符合各種需要,幫助PHP開發者創建一個豐富的開發環境 — 我希望我可以說到所有這些工具。我發現對自己有用的工具有PHP Beautifier, Spyc, Creole和Smarty。我確信還有很多我忘記或者沒聽說過的有用工具。因此,如果你知道某個我遺漏的PHP開發偉大工具,請留言讓我(以及所有人)知道!