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