1 . PHPUnit
測試在軟件開發中是相當重要的一環,但很多開發者都只是給予很少的時間去測試,因爲這工作的確相當耗時,枯燥並且容易出錯。爲了解決以上問題,自動化
測試工具能讓開發者編寫一系列測試腳本,這些腳本能容易地執行,並且可以根據計劃任務去執行。這些自動化測試工具通常提供了測試報告,裏面詳細描述了每次
測試的結果。PHP開發者在自動測試化方面,有一個相當不錯的測試框架PHPUNIT。基於非常流行的測試驅動開發方法,如xUnit,PHPUNIT允
許開發者使用PHP的語法去編寫測試用例,然後用很簡單的命令行工具去執行測試。甚至你可以將PHPUNIT與一些持續集成工具如
phpUnderControl整合。
2. Phing
隨着WEB開發項目變得越來越複雜,開發者面對一大堆部署的任務,這些任務不僅僅是從開發者的機器上將文件傳到生產服務器上那麼簡單了。比如避免上傳
開發環境的文件,如圖片模版,處理服務器指定文件的權限和參數配置,象用戶名口令,以及如何當發生變更錯誤時儘快恢復,這些問題都是開發者經常要碰到的。
爲了解決這些問題,開發者使用了專門的構建工具,它能使文件的傳輸過程更高效,因爲它只同步傳輸改變過的文件。構建工具也能夠很容易根據部署的環境而定
制。
3. GitHub
版本控制能給項目帶來很多好處,包括能建立代碼的實驗分支,回滾不需要的變更,能查看某個文件最近被哪些團隊成員改動過,以及通過日誌監視進度。雖然
現在有很多開源的版本控制工具,但Git目前是我最喜歡的。Git的興起很大程度上得益於一個提供第三方託管服務的GitHub網站,它爲開發者提供了一
系列的託管服務。GitHub滿足了開發者的需要,甚至爲開源項目提供了主機託管的服務。現在已經超過一百萬的託管應用在上面了,GitHub爲開發者提
供了極具價值的服務,讓他們不用花費大量金錢和時間去尋找第三方的託管服務。
4. FirePHP
很多開發者對FireFox的插件Firebug是非常熟悉的,它能讓你很容易地檢查一個網頁的HTML,CSS和Javascript的語法問題。使用FirePHP,你同樣能用象FireBug的界面去檢查PHP語法的錯誤和所選擇的分析數據。
推薦閱讀:FirePHP:像Firebug那樣調試你的PHP代碼
5. XDebug
使用了象PHPUNIT這樣的測試工具後,能在你寫完代碼後幫助捕捉到錯誤,另一方面有時候你需要使用一些幫助工具去幫助瞭解這些問題的原因。很多
PHP開發者使用一個不錯的調試工具XDebug,它能幫助你檢查代碼的狀態,並提供工具去跟蹤及剖析代碼性能,查看對象內容和其他功能。
6. PHP擴展和應用庫
儘管你自己可能認爲自己的想法是很唯一和特別的,但還是很大機會你正在努力編寫的代碼,之前已經有不少其他的程序員已經編寫出來了。爲了幫助開發者克
服這樣的障礙,PHP開發者們定期貢獻PHP的擴展和應用程序庫,如著名的PEAR。PEAR裏包含了560個包,能提供快捷的解決方案,如緩存,加密,
用戶驗證和支付處理等。你總可以在PEAR中總能找到適合你的解決方案。
爲了幫助管理PEAR包應用,可以安裝PEAR包管理工具,它提供了命令行的界面去安裝、升級和刪除包。
PEAR包管理工具:http://pear.php.net/manual/en/installation.getting.php
7. PHP_CodeSniffer
正如關於編輯器的爭論一樣,對於編碼風格的爭論更具諷刺。雖然如此,PEAR提倡的編碼標準看上去在PHP社區取得了一席之地,然而,你或者你所在的團隊依然可能不採用這樣標準約定,這將導致風格不一致的代碼。
爲了避免代碼風格的不一致,可以考慮安裝PHP_CodeSniffer,它是一個很不錯的PEAR包,它能分析PHP程序,JAVASCRIP和
CSS文件並且檢查出哪些是與定義好的代碼風格相違背的。雖然可以定義你自己的編碼風格,但PHP_CodeSniffer的編碼風格是十分方便的。
8. phpDocumentor
從晦澀的代碼註釋中去理解代碼,這是十分沮喪的任務,即使代碼是你自己以前編寫的。就象測試,寫文檔依然是開發者希望逃避的幾個任務之一。爲了減輕這
樣的痛苦,可以考慮使用象phpDocumentor這樣的自動文檔化工具。phpDocumentor支持簡單的文檔規則語法,可以解析你的代碼並且生
成友好的文檔。
9. PHP_Beautifier
另一個阻礙閱讀代碼的因素是不好的代碼格式,因爲在PHP這樣的腳本語言中,很容易造成不恰當的縮進而形成不好的代碼格式。你可以使用PEAR中的包PHP_Beautifier去自動化地格式化代碼。
10. phpUnderControl
如果你正在考慮上述提到的工具,那麼你可以下載phpUnderControl這個工具,它基於CruiseControl構建。phpUnderControl包括了多個PHP工具,如phpunit,phpdocumentor,並提供了統一的界面管理。