關(guān)于PHP IDE 我個(gè)人開發(fā)PHP,還是習(xí)慣使用IDE,因?yàn)榭梢匝杆偬崾疽恍┳约簩懙腖ibrary的一些方法和屬性,最早的時(shí)候,一直用Zend Studio 6.0,當(dāng)時(shí)來說,這個(gè)編輯器確實(shí)提示迅速。但是隨著6.1,7.0,7.1的發(fā)布,不但bug重重,而且受限于eclipse這個(gè)不太穩(wěn)定的IDE。還有一個(gè)極其致命的短板是,集成于Zend Studio的js解析器極其落后和弱智,在編輯內(nèi)嵌在HTML中的js的時(shí),語法著色完全不能用,經(jīng)常是一大片黑色的代碼,而且自動完成還會異常,尤其是你寫一個(gè)閉包函數(shù),他會完全沒法正確提示。 這三年P(guān)HP開發(fā)過程,也是對PHP IDE進(jìn)行大甄選的一個(gè)過程,所有能找到的的PHP IDE,我都用過,最夸張的時(shí)候一臺機(jī)器同時(shí)裝了7個(gè)以上的PHP IDE,我這人就是這樣,對自己用的東西十分較真,不測試出個(gè)丁丑寅卯誓不罷休。中間的測試過程就休提也罷,只說最終的測試結(jié)果(以下排名只依照個(gè)人習(xí)慣排列)。 1、NetBeans PHP IDE(nb版本6.5以上) 3、vs.php / Komodo IDE 并列 5、..... 6、非IDE的:Notepad++、Ultraeditor、UeStuido 7、其他,亂七八糟的IDE 8、最后一名,Zend Studio NetBeans PHP IDE緣何能排于前列呢?最客觀的考核標(biāo)準(zhǔn)是,這三年來,我用nb寫的php的代碼數(shù)量最多。從技術(shù)指標(biāo)上講,nb的穩(wěn)定性是最高的,雖然很多人都抱怨nb開起來很卡,很慢,但我在2G以上環(huán)境使用nb一直都很穩(wěn)定,尤其是寫PHP、HTML、CSS和JS,可以說,NB陪我度過了無數(shù)黑暗的日子(半夜),他伴我度過了無數(shù)從漆黑轉(zhuǎn)向光明的日子(半夜到天亮?)。而且,和下面的IDE進(jìn)行比較,nb的配置自由度是最高的,語法提示的密度也相當(dāng)適合(不像PHP Designer,提示的頻密程度已經(jīng)讓我覺得煩了),關(guān)鍵的關(guān)鍵是,類似""這種自動提示,但你刪除第一個(gè)",他會自動刪除后面跟著的"(但中間為空字符),這會讓你少按很多很多次鍵盤。 當(dāng)然,相對來說,如果要評價(jià)對PHP語法的理解能力,最好的莫過于PHP Designer,假定一個(gè)MVC的開發(fā)環(huán)境,有以下的一個(gè)繼承鏈條: IndexController < __Application < ActionController NetBeans最多最多,只能理解到IndexController這一層,所有之前的類的方法、屬性,都能正常提示。但到了view層面,你就完全抓蝦了,他實(shí)在無能為力了。這點(diǎn)來說PHP Designer卻是做的很完善的,即便到了View層面,他一樣能告訴你,$this->p提示出$this->params,也許PHP Desginer也不過是對所有出現(xiàn)的屬性做了一個(gè)臨時(shí)全局性記錄,但聊勝于無。 還有一項(xiàng)我個(gè)人設(shè)定的評比指標(biāo),就是在低平臺的運(yùn)作,大家可以忽略不計(jì),比如移動本的Atom(因?yàn)槲业墓P記本壞了,所以長期拿著一個(gè)移動本到處招搖撞騙的,有時(shí)候要改改代碼),最好的當(dāng)然是非IDE的諸位,但是netbeans和php designer以及php ed照樣能運(yùn)行,提示也照出不誤。 PHP Designer,別看Designer,就以為是和設(shè)計(jì)有關(guān)的東東,其實(shí)他旨在讓你更加輕松的編寫你的PHP代碼。他首先是一款基于非常強(qiáng)大的HTML、JS、CSS IDE,這方面功能做的十分完善。 在HTML方面,他是目前為止,對HTML編碼準(zhǔn)備的最完善的,比如你輸入<script,后面一切皆有提示,自動閉合標(biāo)簽,自動提示出標(biāo)簽屬性名,進(jìn)入自動提示出標(biāo)簽屬性值,這一點(diǎn)上,已經(jīng)完完全全的勝出于他的前輩DreamWeaver,絕對是過之而無不及。 在CSS方面,該有的提示都有,這個(gè)就不必說了。 在JS方面,他能夠選定你當(dāng)前的庫,比如jQuery、Mootools、Prototype,等,在編寫JS的時(shí),會有比較充足的提示。官方的視頻里,是允許開發(fā)者自己設(shè)定js Library的,不過似乎我怎么也弄不成功。 PHP方面,他的提示非常全面,方法、屬性,這些都無須多講了。最值得一提的是,在編寫混合編碼時(shí)(混合php、html、CSS、js),他會自動高亮你當(dāng)前編寫的編碼塊,其他非關(guān)聯(lián)的代碼塊會變成灰色。這一點(diǎn)能十分有效的集中你的注意力。 雖然PHP Designer擁有種種優(yōu)點(diǎn),但他有一個(gè)使用前提,即你必須對他十分了解,而且要做一定的配置調(diào)整(比如關(guān)閉其他無關(guān)的js提示,調(diào)整提示的時(shí)間頻率)。而他的自動提示方面,除了提示頻率過高以外,還存在常常多完成一個(gè)括號,這玩意常常會讓你多按幾下鍵盤。值的一提的是php Designer自動帶有中文語言,而且不是那種老外翻譯的十分蹩腳的那種。php Designer屬于商業(yè)軟件,需要破解的朋友,可以與我聯(lián)系。 vs.PHP,這個(gè)家伙基于微軟的vstudio,可以說既集成了他的好處,也集成了他的缺點(diǎn)。文件編碼在windows XP上,一直是vs的一個(gè)詬病。他也做了足夠多的語法提示,也能動態(tài)的分析你的類庫。但是由于我極其不喜歡VS的花括號的格式(老習(xí)慣一直改不了),還有vs的HTML編輯器,一直給我太硬的感覺,不太好用。而vs的CSS、JS,一直以來都做得不太好。 有一點(diǎn)值得稱道的是,vs.php可以使用vs 2008的js提示,不過我一直覺得這玩意也是個(gè)蹩腳的設(shè)定,在html代碼,或者js的首行,通過用戶注釋一段js提示的文件入口,他會自動加載該文件,并在你編寫js的時(shí)候,給予你足夠多的提示。之所以說他蹩腳,因?yàn)樗芎芎玫墓ぷ髋caspx,卻無法很好的在其他語言上工作(微軟總是屏蔽技術(shù)實(shí)現(xiàn)細(xì)節(jié),只告訴你個(gè)使用方法),而且,vs會緩存所有的提示,這意味著,你需要手動去修改vs的項(xiàng)目設(shè)定文件,這是很痛苦的事情。而且但你修改完畢,他又會重新緩存。 vs.php也是商業(yè)授權(quán)軟件,一直以來我都找不到最新版本的破解,所以無法對最新版本進(jìn)行測試。 Komodo IDE,這也是個(gè)商業(yè)授權(quán)軟件,但他做的十分開放,擁有完善的IDE接口,你可以自己擴(kuò)展。多的就不說了,他有很多用戶自己開發(fā)的插件,針對性十分強(qiáng),其中有一套模仿mac下的textmate的html輸入提示,只能在windows下運(yùn)行(個(gè)人覺得此插件比ZenCode實(shí)用多了)。 PhpED,也是一個(gè)十分優(yōu)秀的PHP IDE,他擁有性能測試,能對單個(gè)腳本文件進(jìn)行性能測試,同時(shí)也能嵌入到web訪問中,這個(gè)對于早期剛開始寫php代碼的人,有很大的幫助(雖然用xdebug也能做同樣的事情,但你需要對xdebug進(jìn)行設(shè)置,還得有適合的工具,這對初學(xué)者是十分痛苦的),他也擁有類似php designer的代碼塊高亮。不過他對于js方面的提示就有些乏善可陳了。HTML編輯器方面,他也在努力模仿DreamWeaver,不過需要商業(yè)授權(quán)才能用到最新版本的功能,對于一個(gè)寫了10年HTML的人,那點(diǎn)預(yù)覽和提示,也可有可無了。 總體來說,如果新接觸PHP的人,PhpEd,PHP Designer會比較適合,但你對PHP有足夠多的熟悉和了解,又需要一個(gè)更簡易、更趁手的IDE時(shí),Netbeans和Komodo會是更好的選擇。 非IDE的幾個(gè)軟件中,我測試過EditPlus,Notepad++,Ultraedit,不過他們都無法對$進(jìn)行雙擊選定,據(jù)說Editplus配置能解決此問題。Notepad++通過插件能實(shí)現(xiàn)引號、括號的自動完成。 不過,終歸來說,我的目的還是需要一個(gè)晚上的php ide。因?yàn)槟阍囅?,在你打開一個(gè)諸如Dz的論壇,ucenter home的代碼,或者你從SVN中checkout一個(gè)工作團(tuán)隊(duì)寫好的代碼時(shí),編輯器已經(jīng)自動完成了對常用函數(shù)、類庫的代碼收集了,你說需要的,只是在適當(dāng)?shù)奈恢眉尤肽愕拇a即可。綜合各方面因素,推薦度最高,還是netbeans,除了他的容量比較大以外,擁有良好的php library的分析能力,適當(dāng)?shù)淖詣犹崾?,完善的自動完成,對js和HTML的高亮十分完善,同時(shí),還支持一定范圍的語法錯(cuò)誤檢查,這不正是你夢寐以求的IDE嗎? |
|