top
Loading...
7種流行PHP集成開發工具(IDE)的比較

本文發掘集成開發環境(IDE)的所有用途,并比較 7 種流行的 IDE 的成本和優勢。

編寫關于 PHP 的系列文章讓我更加深刻地了解了 PHP 開發人員的世界。我和許多 PHP 程序員交談過,最令我驚奇的是只有很少的人使用 IDE。大多數程序員使用文本編輯器,比如 Microsoft Windows 上的記事本、Emacs 或者 Vim。

我提到的這些文本編輯器(以及我沒提到)都是很不錯的 —— 我不想討論哪個編輯器更好。但是,我要強調的是不使用文本編輯器會使您對 PHP 代碼有更深的見解。幾乎所有人都將 PHP 項目視為只不過是文件目錄而已(這種看法十分片面)。現在就讓我帶您進入 IDE 的世界,向您展示 IDE 能夠 —— 或者應該 —— 給您帶來什么,并向您介紹七個最流行的 IDE。

什么是 IDE?

簡而言之,IDE 為編碼工作提供了一站式服務。IDE 包括一個編輯器,在此編輯器內可以編輯代碼、調試代碼、在瀏覽器(通常是嵌入式的)中查看代碼和簽入和簽出源碼控制。為了支持這些功能,IDE 擁有一套在基本編輯器(比如記事本或者 Vim)中所找不到的特性。當然,您可以通過擴展編輯器來實現這些功能,但是 IDE 在一個精簡軟件包中囊括了所有這些功能 —— 并都已預配置:

項目

IDE 的一個關鍵特性是它把一個 PHP 應用程序看作是一個項目,而不僅僅是一組文件。這個概念 —— 項目 —— 維護額外的信息,比如源碼控制的配置、用于調試的數據庫設置,以及某一關鍵目錄所在位置。

調試

另一個方便的特性是集成調試。使用這個功能,可以在編輯器中設置斷點,當 PHP 解釋程序執行到這個腳本時就會停止。從斷點開始,就可以檢查局部變量的值,在代碼中診斷問題。在代碼中可以使用 echo 語句來檢查值或者也可以使用錯誤日志獲得變量的值。

代碼智能

PHP 是一種非常規則的編程語言,這意味著它遵循著簡單的模式。這些模式不僅使代碼易于編寫,也使 IDE 在項目中檢查代碼變得很容易。此外,它們可以通過顯示檢查結果幫助您編寫程序。例如,如果在項目中定義了一個名為 MyClass 的類,在鍵入關鍵詞 new 時,IDE 會立即提供一個包括 MyClass 作為選項的彈出窗口。當使用那種類型的對象時,IDE 就會顯示它的可用方法和實例變量。當開始鍵入一個函數命令時,IDE 就會顯示它的可用參數。公正地說,這是應該使用 IDE 而不是文本編輯器的首要原因。這種代碼智能可以有效減少敲錯類名、方法名和參數。

類視圖

IDE 中的代碼智能引擎產生的另一個作用是 IDE 可以產生項目的 類視圖。系統不是顯示文件,而是顯示已經定義的不同的類,而不管它們所在的文件。當單擊類時,編輯器訪問相應文件并顯示相應類、方法或者實例變量。這在大項目中是一種非常好的導航方法。

多語言支持

這里提到的每種 IDE 不僅支持 PHP 而且支持相關語言集:JavaScript、Structured Query Language(SQL)、Hypertext Markup Language(HTML)和 Cascading Style Sheets(CSS)。因為 HTML 和 CSS 比較簡單,所以 IDE 對它們的支持是最好的。對于 JavaScript 的支持經常會突出語法,但是支持比不支持要好。

源碼控制

這里評價的所有 IDE 都支持一些與源碼控制系統的連接,允許隨著時間維護項目中的文件版本。可以標記文件的特別版本為發布版本,這樣在需要撤銷改動的時候就可以恢復。在團隊環境中使用源碼控制系統是很關鍵的,即使對于個人使用也很重要。當磁盤癱瘓或者客戶突然想要以前的版本而不是現在的版本的時候,一個好的源碼控制系統就可以發揮作用了。大多數的 IDE 都支持 Concurrent Version System (CVS) 和 Subversion,它們都是開源控制系統。其中一種 IDE 支持 Perforce —— 一款商業源碼控制系統。

FTP/SFTP 集成

與源碼控制相關的一種功能是在服務器中對于最新的代碼使用 FTP 。這比使用 FTP 客戶機或者自己打包文件并發送給服務器然后再解包要容易許多。

數據庫導航

一個非基本但十分有用的特性是數據庫導航。使用這個特性,可以瀏覽應用程序訪問的數據庫、找到表格和字段名并返回查詢結果。一些系統甚至可以自動寫入一些數據庫訪問代碼。

集成 Web 瀏覽器

一些 IDE 支持集成 Web 瀏覽器,可以直接導航到正在使用指定的附加參數編輯的頁面,這個瀏覽器可以宿主在 IDE 內,也可以外部調用。誠實地講,我并不大喜歡集成瀏覽器,因為我不介意在編輯代碼和查看結果這兩個獨立的應用程序之間切換。但是我知道它確實有一定的作用,但您不必一定要使用它。

片段

在所有這些 IDE 中我發現的最后一個特性是對于整段和定制代碼片段的支持。片段 是完成小任務(比如在一些輸入中運行常規表達式、連接到數據庫和查詢數據庫)的小部分代碼。

以上總結了目前從購買的或者開源的 IDE 中可以預期的核心特性。接下來,將會介紹一些流行的 IDE,展示一些 IDE 圖片,并將解釋它們所支持的功能及其成本。

Eclipse

在 Eclipse 開發平臺中有兩個插件支持 PHP。第一個 PHP IDE 項目是 Eclipse Foundation 項目,這意味著它在 Eclipse 許可范圍內發布,并使用 Eclipse Foundation 工具和方法開發。

另一個是 PHPEclipse,它是獨立開發的。因為使用 Eclipse,所以這兩個插件都可以在三大操作系統中運行:Windows、Linux 和 Mac OS X。您可以只下載這兩個插件(如果已經使用 Eclipse),或者下載包含所需要的全部內容的 pre-fab 版本。

這兩個插件都支持核心 IDE 特性。特別是代碼智能特性,它十分強大,可以在需要的時候彈出并顯示所有需要的類、方法和參數信息。

圖 1 顯示了 Mac OS X 上運行的 PHPEclipse。左邊是在項目中文件的項目視圖。下面是類視圖,顯示所有已經定義的類。中間是代碼。可以同時在多個選項卡中打開多個文件。右邊是調試和瀏覽的面板。這是常用的 PHPEclipse 用戶界面。


圖 1. OS X 上的 PHPEclipse

圖 2 顯示了來自 Eclipse Foundation 的 PHP IDE 項目插件。

圖 2. OS X 上的 PHP IDE 項目

如果您不能看出區別,沒有關系。這兩個插件看起來確實非常類似,因為它們都依靠 Eclipse 平臺呈現代碼瀏覽和智能特性。Eclipse 插件 GUI 能夠保持連貫性是件很好的事情。

我沒有發現哪一個插件可以把您鎖定在某一個 Eclipse 項目中。您可以經常地將一個插件換成另一個插件。在我有限的測試中,我更喜歡 PHP IDE 項目插件,因為我感覺它集成得更好,而且代碼智能特性的性能似乎更快捷。試試這兩個插件,看看您更喜歡哪一個。

這兩個插件的缺點是 UI 不是為 PHP 量身訂做的,原因是 Eclipse 可以用于幾乎所有的編程語言。結果是,Eclipse 的術語最初有些另類。如果您剛開始學習 Eclipse,那么這些插件的學習比其他 IDE 更難一些。但是,如果已經了解 Eclipse,那么您就能比較快地熟悉 PHPEclipse 或者 PHP IDE 項目。

Eclipse 和這些插件的最大優點是什么?它們是免費的,而且穩定、可靠。哦,我提到它們是免費的嗎?

Komodo

下一個要介紹的是 ActiveState 的 Komodo IDE。這個 IDE 在 Windows、Mac OS X 和 Linux 上運行,并支持通用的開源語言 —— Perl、PHP 和 Ruby。代碼智能引擎非常可靠。它掃描所有語言安裝找到定制擴展,比如 PEAR 模塊。在項目方面,它支持與 CVS、Subversion 和 Perforce 的集成,也允許直接向服務器 FTP 傳遞代碼。

圖 3 顯示了在 Windows 上運行的 Komodo。左邊是類視圖,右邊是項目視圖。中間的主要部分是代碼視圖。下面是調試用的斷點、命令輸出等等。對于所有這些系統,都可以根據需要定制 UI 。


圖 3. 在 Windows 上運行的 Komodo

Komodo 是一個商業產品。在我寫作本文的時候,這款 IDE 有個人版(US$29.95)和專業版(US$299.95)兩個版本可選。它的一個獨特的特性是常規表達式調試器。不管您是常規表達式的新手還是已經開始涉足高級常規表達式特性,這點購買的投入都是很值得的。

它的缺點是沒有數據庫集成(至少我沒有找到),而且我還遇到了代碼智能不總是在想要的時候彈出的小問題。但是,總的來說,Komodo 還堪稱是一款健壯的、特色豐富的、可靠的 PHP IDE。

PHP 設計器

PHP 設計器與其他 IDE 不太相同。當然,它支持有限的代碼智能。但是,它更集中于 PHP Web 應用程序的設計方面。這一點在其集成的瀏覽器上可見一斑,該瀏覽器特別地采用了像素標尺用于幫助在頁面上定位元素。

圖 4 顯示了運行的 PHP 設計器。


圖 4. 在 Windows 上的 PHP 設計器

PHP 設計器中的 PHP 的代碼智能和調試特性不是很顯著,而對 HTML、CSS 和 JavaScript 的代碼智能支持上要相對更強一些。PHP 設計器介于程序員使用的 IDE (主要側重于代碼)和 Adobe Dreamweaver (更側重于設計)之間。如果您正在尋找這類中間產品,那么 PHP 設計器很值得考慮,因為 IDE 對于個人使用是免費的,而其專業版也只需 US$55。

PhpED

NuSphere 的只用于 Windows 的 PhpED 在所有這里介紹的 IDE 中特性是最豐富的。它有一個很好的內部調試器,并為了更容易地訪問頁面調試而把調試工具條放到了 Microsoft Internet Explorer之內。

圖 5 顯示了在 Windows 中使用 PHPEd 開發 PHP 應用程序。在最左邊是項目的文件視圖。右邊緊挨著的是類視圖,最右邊是代碼視圖。下面是輸出狀態。您可能已經注意到,所有這些 IDE 都遵循著相同的基本設計風格。


圖 5. 在 Windows 中的 PhpED

PhpED 的突出特性包括一個很棒的調試器、優秀的數據庫訪問、較好的代碼智能特性以及集成的 PHP 幫助。PhpED 的價格范圍從基礎版本的 US$119 到專業版本的 US$495。另外還有試用版本可用。

PHPEdit

來自 WaterProof Software 的 PHPEdit 感覺像是應用于 PHP 的 Microsoft msdev 環境 —— 這是個不錯的事情。PHPEdit 是僅用于 Windows 的 IDE,很容易設置。它甚至還有 PHP 的版本。在 PHP、CSS 和 HTML 的代碼智能方面它做得很好,但是卻不提供對 JavaScript 的代碼智能的支持。圖 6 顯示了運行的 PHPEdit。


圖 6. 在 Windows 中的 PHPEdit

為了便于部署,PHPEdit 可以連接到 CVS 和 Subversion,以及 FTP 和它自己專有的 ezDeployment 系統。除了代碼智能特性,為了加速開發,這款 IDE 有一個極好的代碼示例整體模板庫,您還可以向庫里面添加內容。PHPEdit 的評估版本可以免費使用,要得到正式版本,需要 US$89。

Zend Studio

最后,我們談談 Zend Studio,它被最后列出只是因為它以 Z 開頭。它可能應該是您第一個想到的。為什么?因為它來自 Zend —— PHP 幕后的精英團隊。 而且它真的是很不錯。它運行于三大系統:Windows、Mac OS X 和 Linux。而且絕對能夠提供您所需要的一切:PHP V4、PHP V5 等等。它的下載需要花很長時間,但是非常值得。

作為 IDE,Zend Studio 是最好的。它提供所有想在內置庫和定制代碼中擁有的代碼智能特性。它還有非常好的調試功能,而且極易設置。要把代碼放到存儲庫(repository)中,Zend Studio 會連接到 CVS 和 Subversion。要把代碼放到服務器上,有集成 FTP 可以使用。Zend Studio 非常適合 Macintosh,如圖 7 所示。


圖 7. 在 Mac 上的 Zend Studio

在其他一些 IDE 中,代碼片段是內置的以使代碼編制更為容易。這款 IDE 也直接集成了數據庫以給出可用的表格和字段。

Zend Studio 的標準版需要 US$99,專業版需要 US$299。我在這里提到的某些特性在標準版本中沒有包含。Zend Studio 試用版本可以免費使用。

結束語

有許多極好的 IDE 可供選擇 —— 其中一些甚至是免費的 —— 您盡可以選擇一個試用一下,如果您是專業人員,就更應如此。您可能需要支付公司或者個人的顧問費用,也可能要花錢購買必需的商品。如果考慮使用 echo 調試代碼對比使用集成的調試器所花費的時間,IDE 的購買價格絕對會物有所值。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗