7種流行PHP集成開發(fā)工具(IDE)的比較
本文發(fā)掘集成開發(fā)環(huán)境(IDE)的所有用途,并比較 7 種流行的 IDE 的成本和優(yōu)勢。
編寫關(guān)于 PHP 的系列文章讓我更加深刻地了解了 PHP 開發(fā)人員的世界。我和許多 PHP 程序員交談過,最令我驚奇的是只有很少的人使用 IDE。大多數(shù)程序員使用文本編輯器,比如 Microsoft Windows 上的記事本、Emacs 或者 Vim。
我提到的這些文本編輯器(以及我沒提到)都是很不錯的 —— 我不想討論哪個編輯器更好。但是,我要強調(diào)的是不使用文本編輯器會使您對 PHP 代碼有更深的見解。幾乎所有人都將 PHP 項目視為只不過是文件目錄而已(這種看法十分片面)。現(xiàn)在就讓我?guī)M入 IDE 的世界,向您展示 IDE 能夠 —— 或者應(yīng)該 —— 給您帶來什么,并向您介紹七個最流行的 IDE。
什么是 IDE?
簡而言之,IDE 為編碼工作提供了一站式服務(wù)。IDE 包括一個編輯器,在此編輯器內(nèi)可以編輯代碼、調(diào)試代碼、在瀏覽器(通常是嵌入式的)中查看代碼和簽入和簽出源碼控制。為了支持這些功能,IDE 擁有一套在基本編輯器(比如記事本或者 Vim)中所找不到的特性。當(dāng)然,您可以通過擴展編輯器來實現(xiàn)這些功能,但是 IDE 在一個精簡軟件包中囊括了所有這些功能 —— 并都已預(yù)配置:
項目
IDE 的一個關(guān)鍵特性是它把一個 PHP 應(yīng)用程序看作是一個項目,而不僅僅是一組文件。這個概念 —— 項目 —— 維護額外的信息,比如源碼控制的配置、用于調(diào)試的數(shù)據(jù)庫設(shè)置,以及某一關(guān)鍵目錄所在位置。
調(diào)試
另一個方便的特性是集成調(diào)試。使用這個功能,可以在編輯器中設(shè)置斷點,當(dāng) PHP 解釋程序執(zhí)行到這個腳本時就會停止。從斷點開始,就可以檢查局部變量的值,在代碼中診斷問題。在代碼中可以使用 echo 語句來檢查值或者也可以使用錯誤日志獲得變量的值。
代碼智能
PHP 是一種非常規(guī)則的編程語言,這意味著它遵循著簡單的模式。這些模式不僅使代碼易于編寫,也使 IDE 在項目中檢查代碼變得很容易。此外,它們可以通過顯示檢查結(jié)果幫助您編寫程序。例如,如果在項目中定義了一個名為 MyClass 的類,在鍵入關(guān)鍵詞 new 時,IDE 會立即提供一個包括 MyClass 作為選項的彈出窗口。當(dāng)使用那種類型的對象時,IDE 就會顯示它的可用方法和實例變量。當(dāng)開始鍵入一個函數(shù)命令時,IDE 就會顯示它的可用參數(shù)。公正地說,這是應(yīng)該使用 IDE 而不是文本編輯器的首要原因。這種代碼智能可以有效減少敲錯類名、方法名和參數(shù)。
類視圖
IDE 中的代碼智能引擎產(chǎn)生的另一個作用是 IDE 可以產(chǎn)生項目的 類視圖。系統(tǒng)不是顯示文件,而是顯示已經(jīng)定義的不同的類,而不管它們所在的文件。當(dāng)單擊類時,編輯器訪問相應(yīng)文件并顯示相應(yīng)類、方法或者實例變量。這在大項目中是一種非常好的導(dǎo)航方法。
多語言支持
這里提到的每種 IDE 不僅支持 PHP 而且支持相關(guān)語言集:JavaScript、Structured Query Language(SQL)、Hypertext Markup Language(HTML)和 Cascading Style Sheets(CSS)。因為 HTML 和 CSS 比較簡單,所以 IDE 對它們的支持是最好的。對于 JavaScript 的支持經(jīng)常會突出語法,但是支持比不支持要好。
源碼控制
這里評價的所有 IDE 都支持一些與源碼控制系統(tǒng)的連接,允許隨著時間維護項目中的文件版本。可以標(biāo)記文件的特別版本為發(fā)布版本,這樣在需要撤銷改動的時候就可以恢復(fù)。在團隊環(huán)境中使用源碼控制系統(tǒng)是很關(guān)鍵的,即使對于個人使用也很重要。當(dāng)磁盤癱瘓或者客戶突然想要以前的版本而不是現(xiàn)在的版本的時候,一個好的源碼控制系統(tǒng)就可以發(fā)揮作用了。大多數(shù)的 IDE 都支持 Concurrent Version System (CVS) 和 Subversion,它們都是開源控制系統(tǒng)。其中一種 IDE 支持 Perforce —— 一款商業(yè)源碼控制系統(tǒng)。
FTP/SFTP 集成
與源碼控制相關(guān)的一種功能是在服務(wù)器中對于最新的代碼使用 FTP 。這比使用 FTP 客戶機或者自己打包文件并發(fā)送給服務(wù)器然后再解包要容易許多。
數(shù)據(jù)庫導(dǎo)航
一個非基本但十分有用的特性是數(shù)據(jù)庫導(dǎo)航。使用這個特性,可以瀏覽應(yīng)用程序訪問的數(shù)據(jù)庫、找到表格和字段名并返回查詢結(jié)果。一些系統(tǒng)甚至可以自動寫入一些數(shù)據(jù)庫訪問代碼。
集成 Web 瀏覽器
一些 IDE 支持集成 Web 瀏覽器,可以直接導(dǎo)航到正在使用指定的附加參數(shù)編輯的頁面,這個瀏覽器可以宿主在 IDE 內(nèi),也可以外部調(diào)用。誠實地講,我并不大喜歡集成瀏覽器,因為我不介意在編輯代碼和查看結(jié)果這兩個獨立的應(yīng)用程序之間切換。但是我知道它確實有一定的作用,但您不必一定要使用它。
片段
在所有這些 IDE 中我發(fā)現(xiàn)的最后一個特性是對于整段和定制代碼片段的支持。片段 是完成小任務(wù)(比如在一些輸入中運行常規(guī)表達(dá)式、連接到數(shù)據(jù)庫和查詢數(shù)據(jù)庫)的小部分代碼。
以上總結(jié)了目前從購買的或者開源的 IDE 中可以預(yù)期的核心特性。接下來,將會介紹一些流行的 IDE,展示一些 IDE 圖片,并將解釋它們所支持的功能及其成本。Eclipse
在 Eclipse 開發(fā)平臺中有兩個插件支持 PHP。第一個 PHP IDE 項目是 Eclipse Foundation 項目,這意味著它在 Eclipse 許可范圍內(nèi)發(fā)布,并使用 Eclipse Foundation 工具和方法開發(fā)。
另一個是 PHPEclipse,它是獨立開發(fā)的。因為使用 Eclipse,所以這兩個插件都可以在三大操作系統(tǒng)中運行:Windows、Linux 和 Mac OS X。您可以只下載這兩個插件(如果已經(jīng)使用 Eclipse),或者下載包含所需要的全部內(nèi)容的 pre-fab 版本。
這兩個插件都支持核心 IDE 特性。特別是代碼智能特性,它十分強大,可以在需要的時候彈出并顯示所有需要的類、方法和參數(shù)信息。
圖 1 顯示了 Mac OS X 上運行的 PHPEclipse。左邊是在項目中文件的項目視圖。下面是類視圖,顯示所有已經(jīng)定義的類。中間是代碼。可以同時在多個選項卡中打開多個文件。右邊是調(diào)試和瀏覽的面板。這是常用的 PHPEclipse 用戶界面。
圖 1. OS X 上的 PHPEclipse
圖 2. OS X 上的 PHP IDE 項目
如果您不能看出區(qū)別,沒有關(guān)系。這兩個插件看起來確實非常類似,因為它們都依靠 Eclipse 平臺呈現(xiàn)代碼瀏覽和智能特性。Eclipse 插件 GUI 能夠保持連貫性是件很好的事情。
我沒有發(fā)現(xiàn)哪一個插件可以把您鎖定在某一個 Eclipse 項目中。您可以經(jīng)常地將一個插件換成另一個插件。在我有限的測試中,我更喜歡 PHP IDE 項目插件,因為我感覺它集成得更好,而且代碼智能特性的性能似乎更快捷。試試這兩個插件,看看您更喜歡哪一個。
這兩個插件的缺點是 UI 不是為 PHP 量身訂做的,原因是 Eclipse 可以用于幾乎所有的編程語言。結(jié)果是,Eclipse 的術(shù)語最初有些另類。如果您剛開始學(xué)習(xí) Eclipse,那么這些插件的學(xué)習(xí)比其他 IDE 更難一些。但是,如果已經(jīng)了解 Eclipse,那么您就能比較快地熟悉 PHPEclipse 或者 PHP IDE 項目。
Eclipse 和這些插件的最大優(yōu)點是什么?它們是免費的,而且穩(wěn)定、可靠。哦,我提到它們是免費的嗎?
Komodo
下一個要介紹的是 ActiveState 的 Komodo IDE。這個 IDE 在 Windows、Mac OS X 和 Linux 上運行,并支持通用的開源語言 —— Perl、PHP 和 Ruby。代碼智能引擎非常可靠。它掃描所有語言安裝找到定制擴展,比如 PEAR 模塊。在項目方面,它支持與 CVS、Subversion 和 Perforce 的集成,也允許直接向服務(wù)器 FTP 傳遞代碼。
圖 3 顯示了在 Windows 上運行的 Komodo。左邊是類視圖,右邊是項目視圖。中間的主要部分是代碼視圖。下面是調(diào)試用的斷點、命令輸出等等。對于所有這些系統(tǒng),都可以根據(jù)需要定制 UI 。
圖 3. 在 Windows 上運行的 Komodo
Komodo 是一個商業(yè)產(chǎn)品。在我寫作本文的時候,這款 IDE 有個人版(US$29.95)和專業(yè)版(US$299.95)兩個版本可選。它的一個獨特的特性是常規(guī)表達(dá)式調(diào)試器。不管您是常規(guī)表達(dá)式的新手還是已經(jīng)開始涉足高級常規(guī)表達(dá)式特性,這點購買的投入都是很值得的。
它的缺點是沒有數(shù)據(jù)庫集成(至少我沒有找到),而且我還遇到了代碼智能不總是在想要的時候彈出的小問題。但是,總的來說,Komodo 還堪稱是一款健壯的、特色豐富的、可靠的 PHP IDE。
PHP 設(shè)計器
PHP 設(shè)計器與其他 IDE 不太相同。當(dāng)然,它支持有限的代碼智能。但是,它更集中于 PHP Web 應(yīng)用程序的設(shè)計方面。這一點在其集成的瀏覽器上可見一斑,該瀏覽器特別地采用了像素標(biāo)尺用于幫助在頁面上定位元素。
圖 4 顯示了運行的 PHP 設(shè)計器。
圖 4. 在 Windows 上的 PHP 設(shè)計器
PHP 設(shè)計器中的 PHP 的代碼智能和調(diào)試特性不是很顯著,而對 HTML、CSS 和 JavaScript 的代碼智能支持上要相對更強一些。PHP 設(shè)計器介于程序員使用的 IDE (主要側(cè)重于代碼)和 Adobe Dreamweaver (更側(cè)重于設(shè)計)之間。如果您正在尋找這類中間產(chǎn)品,那么 PHP 設(shè)計器很值得考慮,因為 IDE 對于個人使用是免費的,而其專業(yè)版也只需 US$55。
PhpED
NuSphere 的只用于 Windows 的 PhpED 在所有這里介紹的 IDE 中特性是最豐富的。它有一個很好的內(nèi)部調(diào)試器,并為了更容易地訪問頁面調(diào)試而把調(diào)試工具條放到了 Microsoft Internet Explorer之內(nèi)。
圖 5 顯示了在 Windows 中使用 PHPEd 開發(fā) PHP 應(yīng)用程序。在最左邊是項目的文件視圖。右邊緊挨著的是類視圖,最右邊是代碼視圖。下面是輸出狀態(tài)。您可能已經(jīng)注意到,所有這些 IDE 都遵循著相同的基本設(shè)計風(fēng)格。
圖 5. 在 Windows 中的 PhpED
PhpED 的突出特性包括一個很棒的調(diào)試器、優(yōu)秀的數(shù)據(jù)庫訪問、較好的代碼智能特性以及集成的 PHP 幫助。PhpED 的價格范圍從基礎(chǔ)版本的 US$119 到專業(yè)版本的 US$495。另外還有試用版本可用。
PHPEdit
來自 WaterProof Software 的 PHPEdit 感覺像是應(yīng)用于 PHP 的 Microsoft msdev 環(huán)境 —— 這是個不錯的事情。PHPEdit 是僅用于 Windows 的 IDE,很容易設(shè)置。它甚至還有 PHP 的版本。在 PHP、CSS 和 HTML 的代碼智能方面它做得很好,但是卻不提供對 JavaScript 的代碼智能的支持。圖 6 顯示了運行的 PHPEdit。
圖 6. 在 Windows 中的 PHPEdit
為了便于部署,PHPEdit 可以連接到 CVS 和 Subversion,以及 FTP 和它自己專有的 ezDeployment 系統(tǒng)。除了代碼智能特性,為了加速開發(fā),這款 IDE 有一個極好的代碼示例整體模板庫,您還可以向庫里面添加內(nèi)容。PHPEdit 的評估版本可以免費使用,要得到正式版本,需要 US$89。
Zend Studio
最后,我們談?wù)?Zend Studio,它被最后列出只是因為它以 Z 開頭。它可能應(yīng)該是您第一個想到的。為什么?因為它來自 Zend —— PHP 幕后的精英團隊。 而且它真的是很不錯。它運行于三大系統(tǒng):Windows、Mac OS X 和 Linux。而且絕對能夠提供您所需要的一切:PHP V4、PHP V5 等等。它的下載需要花很長時間,但是非常值得。
作為 IDE,Zend Studio 是最好的。它提供所有想在內(nèi)置庫和定制代碼中擁有的代碼智能特性。它還有非常好的調(diào)試功能,而且極易設(shè)置。要把代碼放到存儲庫(repository)中,Zend Studio 會連接到 CVS 和 Subversion。要把代碼放到服務(wù)器上,有集成 FTP 可以使用。Zend Studio 非常適合 Macintosh,如圖 7 所示。
圖 7. 在 Mac 上的 Zend Studio
在其他一些 IDE 中,代碼片段是內(nèi)置的以使代碼編制更為容易。這款 IDE 也直接集成了數(shù)據(jù)庫以給出可用的表格和字段。
Zend Studio 的標(biāo)準(zhǔn)版需要 US$99,專業(yè)版需要 US$299。我在這里提到的某些特性在標(biāo)準(zhǔn)版本中沒有包含。Zend Studio 試用版本可以免費使用。
結(jié)束語
有許多極好的 IDE 可供選擇 —— 其中一些甚至是免費的 —— 您盡可以選擇一個試用一下,如果您是專業(yè)人員,就更應(yīng)如此。您可能需要支付公司或者個人的顧問費用,也可能要花錢購買必需的商品。如果考慮使用 echo 調(diào)試代碼對比使用集成的調(diào)試器所花費的時間,IDE 的購買價格絕對會物有所值。
