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開發偉大工具,請留言讓我(以及所有人)知道!