我如何選PHP開發工具(PHP IDE)
文章來源http://coding.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/
備忘:文章年代久遠,一般IDE都更新了不少;原文本人感覺也冗長,譯文截了不少,並添加了自己的一些觀點。
轉載請註明來源http://blog.csdn.net/uuleaf/article/details/7673971
大家都是PHP碼農精英,個個夢想少花時間寫好代碼提高效率。使用php整合式開發環境可以協助大家更加容易的實現這個夢想。但是PHP IDE現在五花八門,每一個PHP IDE的官方網站上都鼓吹自己天下第一,弄的哥我眼花繚亂。不知道兄弟你有沒有相同的感受,我們一起探討下如何選擇一個好的php整合式開發環境。
在本文中,我們挨個深入一下幾個最主流的PHP開發工具進行橫向評測,希望大家從中找到稱手稱心的開發工具。
很長一段時間,本人主要開發JAVA,使用Eclipse跟IntelliJ IDEA相當稱手。但是自從開發PHP以來,老是找不到好的IDE,於是哥定了8條IDE軍規,眾觀各IDE從容評測之。
軍規1、文法高亮,增強可讀性
軍規2、自動程式碼完成及提示
- PHP內建類及方法
- 自訂的類及方法
- phpDoc協助資訊提示
軍規3、代碼定位功能,支援方法定義提示及方法使用追蹤。
軍規4、支援反白錯誤與警告
軍規5、代碼自動重構
自動重構在強型別的語言中用的比較多,如Java、C。但是在PHP中也有一點小用。如
- 當移動檔案時,IDE自動修本文件的引用路徑
- 當重新命名檔案時,IDE自動更新檔案的新引用路徑
- 當刪除檔案時,IDE具備檢查引用,並有安全刪除的提示
- 代碼格式化
軍規5、代碼自動產生
- 當類實現介面或抽象類別時,可自動產生介面方法或抽象方法
- 可自動產生getter及setter類似的方法
軍規6、調試
調試在php中不是很重要,我們通常使用echo或print_r拋出來。但是在大型項目中,過多的“拋出”會汙染代碼,推薦使用調試。如果IDE足夠好,我們可以在調試中查看到變數在每一個程式步驟中的值。
軍規7、版本控制整合
無論在團隊合作還是在個人開發中,好的IDE應該能整合subversion或git,提供直觀的檔案修改曆史、比較、復原及版本合并。
Web整合
軍規8、WEBIDE方面支援
在項目中唯寫php代碼不太可能,因為php本身是做web應用的。在現實的php項目中總避免不了與html/css/javascript打交道。能夠提供html/css/javascript的支援再好不過
本人用過的幾個主流的PHPIDE評測
轉載請註明來源http://blog.csdn.net/uuleaf/article/details/7673971
PDT 或Zend Studio
Zend Studio是php的官方IDE,不免費,在代碼自動完成、產生、提示、調試上功能都很強大。
PDT是ZendStudio的閹割版本,可以參照Zend Studio給出的對比:http://www.zend.com/products/studio/comparison
【缺點】
Zend Studio對於html/css/javascript的支援不太好,雖然從Zend Studio9開始Zend Studio已經對html/javascript提供了支援,但是還是功能還是弱些,如css選取器不能自動提示。
【適用者】純PHP碼農,如後端大牛
Aptana
【優點】
但是Aptana的html/css/javascript支援非常強大,功能齊全,是本人見過最給力的WebIDE。
【缺點】
Aptana 內建的php整合工具並不好用,代碼自動提示不完善。尤其自從aptana3以來,強制整合了python跟ruby on rails,運行起來巨吃記憶體,又慢又腫。
【備忘】
本人在前幾年一直使用Aptana2+phpeclipse外掛程式+zen coding外掛程式方案,使用phpeclipse的PHP功能,又不失Web方面的支援。
但是phpeclipse長久無更新,Aptana3讓人失望至極,本人現在也不用了。
【適用者】純全模板類碼農,如前台開發
NetBeans PHP
【優點】
跨平台、免費、開放、佔用記憶體小、php及web方法都支援的不錯
【缺點】
什麼都行什麼也不精,php方面跟PDT差不多,不如Zendstudio。WEB方法比Aptana差。
【使用小結】
雞肋啊雞肋
********************************************
* 作者:葉文濤
* 連結:我如何選PHP開發工具(PHP IDE)
******************轉載請註明來源 ***************