7 種流行 PHP IDE 的比較

 
IBM®
跳轉到主要內容
    中國 [選擇]      使用條款
 
 
Select a scope: Search for:      
     首頁      產品      服務與解決方案      支持與下載      個性化服務     
skip to main content

developerWorks 中國  >  Open source | Web development  >

7 種流行 PHP IDE 的比較

獲取更多信息並找到適合自己的一款

developerWorks
文檔選項
將此頁作爲電子郵件發送

將此頁作爲電子郵件發送


拓展 Tomcat 應用

下載 IBM 開源 J2EE 應用服務器 WAS CE 新版本 V1.1


級別: 中級

Jack Herrington ([email protected]), 高級軟件工程師, Code Generation Network

2006 年 12 月 28 日

發掘集成開發環境(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
OS X 上的 PHPEclipse

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


圖 2. OS X 上的 PHP IDE 項目
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
在 Windows 上運行的 Komodo

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

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





回頁首


PHP 設計器

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

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


圖 4. 在 Windows 上的 PHP 設計器
在 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
在 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
在 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
在 Mac 上的 Zend Studio

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

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





回頁首


結束語

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



參考資料

學習
  • 您可以參閱本文在 developerWorks 全球站點上的 英文原文

  • 對於 PHP 開發人員, PHP.net 是個很好的資源。

  • 要獲得學習使用 PHP 編程的一系列 developerWorks 教程,請參閱 “學習 PHP” 系列。

  • 訪問 IBM developerWorks 的 PHP 項目資源,瞭解 PHP 的更多信息。

  • 隨時關注 developerWorks 技術事件和網絡廣播

  • 查閱最近將在全球舉辦的面向 IBM 開放源碼開發人員的會議、展覽、網絡廣播和其他 活動

  • 訪問 developerWorks Open source 專區,獲得廣泛的 how-to 信息、工具和項目更新,幫助您使用開放源碼技術進行開發,並將其與 IBM 的產品相結合。

  • 要收聽針對軟件開發人員的有趣訪談和討論,一定要訪問 developerWorks podcasts


獲得產品和技術

討論


關於作者

 

Jack Herrington 是一名有着 20 餘年經驗的工程師,現在是 Code Generation Network 的總編。他撰寫了 Code Generation in Action 一書。可以通過 [email protected] 與他聯繫。




對本文的評價

<script language="javascript" type="text/javascript">document.write('');</script>
太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建議?




回頁首


IBM 公司保留在 developerWorks 網站上發表的內容的著作權。未經IBM公司或原始作者的書面明確許可,請勿轉載。如果您希望轉載,請通過 提交轉載請求表單 聯繫我們的編輯團隊。
    關於 IBM 隱私條約 聯繫 IBM
<script language="JavaScript1.2" src="//www.ibm.com/common/stats/stats.js" type="text/javascript"></script> <script language="JavaScript1.1" src="//redirect.www.ibm.com/rc/sa3p.sjs" type="text/javascript"></script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章