【IT168 技術(shù)文檔】在參與了幾個(gè)大型PHP項目,寫(xiě)了很多PHP代碼以后,我發(fā)現很多工具可以提高代碼質(zhì)量,簡(jiǎn)化發(fā)布,使得做為PHP開(kāi)發(fā)人員的生涯變得輕松許多。許多這樣的工具可能已經(jīng)為大家所用。但是,由于一些人甚至沒(méi)有注意到這些工具的存在,我會(huì )從此開(kāi)始,好了,不說(shuō)廢話(huà),下面是我認為所有PHP程序員應該知道的工具列表。
Phing - 一個(gè)項目構建系統
Phing 是一個(gè)基于A(yíng)pache ANT 的項目構建系統。它的名字是一個(gè)拗口的語(yǔ)句首字母縮寫(xiě) - PHing Is Not GNU make 。Phing可以做傳統構建系統比如 GNU make 能做的任何事情,同時(shí)沒(méi)有陡峭的學(xué)習曲線(xiàn)。
在phing(以及其他的構建系統)背后的思想是評估一系列相關(guān)性,然后執行一系列PHP類(lèi)去正確的安裝和配置一個(gè)應用系統。構建過(guò)程用一個(gè)簡(jiǎn)單的XML配置文件控制。Out of the box, phing內置可以執行一系列替換(比如:在你的開(kāi)發(fā)版本和產(chǎn)品版本間改變include路徑)、執行SQL語(yǔ)句、移動(dòng)和復制文件、運行外部腳本等等。通過(guò)擴展包含在發(fā)行包中的“task”類(lèi),你也可以創(chuàng )造自己的定制任務(wù)。
對任何需要在超過(guò)一臺服務(wù)器上部署大型PHP應用的人來(lái)世,Phing是一個(gè)無(wú)價(jià)之寶。同時(shí)我發(fā)現它對簡(jiǎn)單的PHP腳本也是很有用的。
Xdebug - 調試和分析工具
Xdebug 是幫助你調試和分析腳本的一個(gè)PHP擴展。Xdebug中最有用的特性是在激活后顯示的新注意信息、警告信息和錯誤信息。如果一個(gè)腳本不能正常運行,Xdebug將會(huì )輸出關(guān)于錯誤信息的完整堆跟蹤 ,會(huì )附帶函數名稱(chēng)、參數值、源文件和行號。這對于厭倦了PHP默認只帶的可憐的錯誤報告功能的程序員是一個(gè)值得歡迎的特性。
這個(gè)擴展有很多更先進(jìn)的功能,允許開(kāi)發(fā)人員進(jìn)行代碼覆蓋率分析,收集分析信息以及交互式地調試腳本。profiling functionality 功能尤其有用。分析器使用一個(gè)普通的輸出文件格式,允許你使用象 KCacheGrind 這樣的工具快速發(fā)現你代碼中的瓶頸。對任何嚴肅的開(kāi)發(fā)人員而言,一個(gè)好的分析器是基本工具,它使得你妥善優(yōu)化你的代碼,同時(shí)避免過(guò)早優(yōu)化帶來(lái)的危害。
PHPUnit - 單元測試框架
PHPUnit 是一個(gè)輕量級的PHP測試框架。它是在PHP5下面的 JUnit 3.8.1 完整移植,是xUnit 測試框架家族的一員(它們基于軟件模式 先鋒 Kent Beck 的設計)。
單元測試是幾個(gè)現代敏捷開(kāi)發(fā)方法的基礎,使得PHPUnit成為許多大型PHP項目的關(guān)鍵工具。這個(gè)工具也可以被前面討論的Xdebug擴展用來(lái)生成代碼覆蓋率報告 ,并且可以與phing集成來(lái)自動(dòng)測試。
Propel - ORM(對象關(guān)系映射)框架
Propel是一個(gè)PHP5下面的對象關(guān)系映射(ORM)框架,它起源于A(yíng)pache Torque項目。它提供了一個(gè)復雜但是易用的數據庫抽象層,使得你可以在PHP中象使用普通類(lèi)和對象一樣得使用數據庫實(shí)體。Propel允許你使用一種簡(jiǎn)單的XML格式定義你的數據庫,這個(gè)XML文件被用來(lái)映射數據庫,生成應用中使用的靜態(tài)類(lèi)。
Propel被內嵌于流行的Symfony PHP框架 (還有其他的),它使得代碼更靈活、模塊化以及可移植。這個(gè)項目有The project has 出色的文檔,以及很棒的支持社區。
phpMyAdmin / phpPgAdmin - 基于web的數據庫管理系統
歷史有點(diǎn)長(cháng)可是還是很有用,phpMyAdmin是對于任何數據庫(對應PostgreSQL和SQLite是phpPgAdmin 和 phpSQLiteAdmin)最有用的管理工具之一。它有助于做每一件事情 - 從為了調試應用去創(chuàng )建和刪除數據庫到做備份。安裝它通常是我在一個(gè)LAMP服務(wù)器上面安裝完 Apache, PHP和MySQL后做的第一件事情。如果你使用MySQL,不知何故還沒(méi)聽(tīng)說(shuō)過(guò)它,那么現在就安裝 。
其他工具
還有很多優(yōu)秀的工具用以符合各種需要,幫助PHP開(kāi)發(fā)者創(chuàng )建一個(gè)豐富的開(kāi)發(fā)環(huán)境 — 我希望我可以說(shuō)到所有這些工具。我發(fā)現對自己有用的工具有PHP Beautifier, Spyc, Creole和Smarty。我確信還有很多我忘記或者沒(méi)聽(tīng)說(shuō)過(guò)的有用工具。因此,如果你知道某個(gè)我遺漏的PHP開(kāi)發(fā)偉大工具,請留言讓我(以及所有人)知道!
聯(lián)系客服