首頁  >  文章  >  後端開發  >  PHP的7種流行整合開發工具(IDE)的區別比較

PHP的7種流行整合開發工具(IDE)的區別比較

WBOY
WBOY原創
2016-08-08 09:33:25878瀏覽

PHP的7種流行整合開發工具(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 使用者介面。

PHP的7種流行整合開發工具(IDE)的區別比較
  圖 1. OS X 上的 PHPEclipse

  圖 2. OS X 上的 PHP IDE 項目

PHP的7種流行整合開發工具(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 。

PHP的7種流行整合開發工具(IDE)的區別比較
  圖 3. 在 Windows 上執行的 Komodo

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

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

PHP 設計器

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

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

PHP的7種流行整合開發工具(IDE)的區別比較
  圖 4. 在 Windows 上的 PHP 設計器

  PHP 設計器中的 PHP 的程式碼智慧和除錯特性不是很顯著,而對 HTML、CSS 和 JavaScript 的程式碼智慧支援上要相對更強一些。 PHP 設計器介於程式設計師使用的 IDE (主要專注於程式碼)和 Adob​​​​e Dreamweaver (更著重於設計)之間。如果您正在尋找這類中間產品,那麼 PHP 設計器很值得考慮,因為 IDE 對於個人使用是免費的,而其專業版只需 US$55。

PhpED

  NuSphere 的只用於 Windows 的 PhpED 在所有這裡介紹的 IDE 中特性是最豐富的。它有一個很好的內部偵錯器,並為了更容易存取頁面偵錯而把偵錯工具條放到了 Microsoft Internet Explorer之內。

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

PHP的7種流行整合開發工具(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。

PHP的7種流行整合開發工具(IDE)的區別比較
  圖 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 所示。

PHP的7種流行整合開發工具(IDE)的區別比較
  圖 7. 在 Mac 上的 Zend Studio

  在其他一些 IDE 中,程式碼片段是內建的以使程式碼編制更為容易。這款 IDE 也直接整合了資料庫以給出可用的表格和欄位。

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

結束語

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

以上就介紹了PHP的7種流行整合開發工具(IDE)的區別比較,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn