IDE是什麼?常用的PHP IDE對比
編寫關於 PHP 的系列文章讓我更加深刻地瞭解了 PHP 開發人員的世界。我和許多 PHP 程式設計師交談過,最令我驚奇的是隻有很少的人使用 IDE。大多數程式設計師使用文字編輯器,比如 Microsoft® Windows® 上的記事本、Emacs 或者 Vim。
我提到的這些文字編輯器(以及我沒提到)都是很不錯的 —— 我不想討論哪個編輯器更好。但是,我要強調的是不使用文字編輯器會使您對 PHP 程式碼有更深的見解。幾乎所有人都將 PHP 專案視為只不過是檔案目錄而已(這種看法十分片面)。現在就讓我帶您進入 IDE 的世界,向您展示 IDE 能夠 —— 或者應該 —— 給您帶來什麼,並向您介紹幾個最流行的PHP 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 圖片,並將解釋它們所支援的功能及其成本。
常用的PHP 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 使用者介面。
圖2顯示了來自 Eclipse Foundation 的 PHP IDE 專案外掛。
如果您不能看出區別,沒有關係。這兩個外掛看起來確實非常類似,因為它們都依靠 Eclipse 平臺呈現程式碼瀏覽和智慧特性。Eclipse 外掛 GUI 能夠保持連貫性是件很好的事情。
我沒有發現哪一個外掛可以把您鎖定在某一個 Eclipse 專案中。您可以經常地將一個外掛換成另一個外掛。在我有限的測試中,我更喜歡 PHP IDE 專案外掛,因為我感覺它整合得更好,而且程式碼智慧特性的效能似乎更快捷。試試這兩個外掛,看看您更喜歡哪一個。
這兩個外掛的缺點是 UI 不是為 PHP 量身訂做的,原因是 Eclipse 可以用於幾乎所有的程式語言。結果是,Eclipse 的術語最初有些另類。如果您剛開始學習 Eclipse,那麼這些外掛的學習比其他 IDE 更難一些。但是,如果已經瞭解 Eclipse,那麼您就能比較快地熟悉 PHPEclipse 或者 PHP IDE 專案。
Komodo
下一個要介紹的是 ActiveState 的 Komodo IDE。這個 IDE 在 Windows、Mac OS X 和 Linux 上執行,並支援通用的開源語言 —— Perl、PHP 和 Ruby。程式碼智慧引擎非常可靠。它掃描所有語言安裝找到定製擴充套件,比如 PEAR 模組。在專案方面,它支援與 CVS、Subversion 和 Perforce 的整合,也允許直接向伺服器 FTP 傳遞程式碼。
圖 3 顯示了在 Windows 上執行的 Komodo。左邊是類檢視,右邊是專案檢視。中間的主要部分是程式碼檢視。下面是除錯用的斷點、命令輸出等等。對於所有這些系統,都可以根據需要定製 UI 。
Komodo 的一個獨特的特性是常規表示式偵錯程式。不管您是常規表示式的新手還是已經開始涉足高階常規表示式特性,這點購買的投入都是很值得的。
它的缺點是沒有資料庫整合(至少我沒有找到),而且我還遇到了程式碼智慧不總是在想要的時候彈出的小問題。但是,總的來說,Komodo 還堪稱是一款健壯的、特色豐富的、可靠的 PHP IDE。
PHP Designer
PHP 設計器與其他 IDE 不太相同。當然,它支援有限的程式碼智慧。但是,它更集中於 PHP Web 應用程式的設計方面。這一點在其整合的瀏覽器上可見一斑,該瀏覽器特別地採用了畫素標尺用於幫助在頁面上定位元素。
圖4顯示了執行的 PHP 設計器。
PHP 設計器中的 PHP 的程式碼智慧和除錯特性不是很顯著,而對 HTML、CSS 和 JavaScript 的程式碼智慧支援上要相對更強一些。PHP 設計器介於程式設計師使用的 IDE (主要側重於程式碼)和 Adobe Dreamweaver (更側重於設計)之間。
PhpED
NuSphere 的只用於 Windows 的 PhpED 在所有這裡介紹的 IDE 中特性是最豐富的。它有一個很好的內部偵錯程式,併為了更容易地訪問頁面除錯而把除錯工具條放到了 Microsoft Internet Explorer®之內。
圖 5 顯示了在 Windows 中使用 PHPEd 開發 PHP 應用程式。在最左邊是專案的檔案檢視。右邊緊挨著的是類檢視,最右邊是程式碼檢視。下面是輸出狀態。您可能已經注意到,所有這些 IDE 都遵循著相同的基本設計風格。
PhpED 的突出特性包括一個很棒的偵錯程式、優秀的資料庫訪問、較好的程式碼智慧特性以及整合的 PHP 幫助。
PHPEdit
來自 WaterProof Software 的 PHPEdit 感覺像是應用於 PHP 的 Microsoft msdev 環境 —— 這是個不錯的事情。PHPEdit 是僅用於 Windows 的 IDE,很容易設定。它甚至還有 PHP 的版本。在 PHP、CSS 和 HTML 的程式碼智慧方面它做得很好,但是卻不提供對 JavaScript 的程式碼智慧的支援。圖 6 顯示了執行的 PHPEdit。
為了便於部署,PHPEdit 可以連線到 CVS 和 Subversion,以及 FTP 和它自己專有的 ezDeployment 系統。除了程式碼智慧特性,為了加速開發,這款 IDE 有一個極好的程式碼示例整體模板庫,您還可以向庫裡面新增內容。
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 所示。
在其他一些 IDE 中,程式碼片段是內建的以使程式碼編制更為容易。這款 IDE 也直接整合了資料庫以給出可用的表格和欄位。
結束語
有許多極好的 IDE 可供選擇 —— 其中一些甚至是免費的 —— 您儘可以選擇一個試用一下,如果您是專業人員,就更應如此。您可能需要支付公司或者個人的顧問費用,也可能要花錢購買必需的商品。如果考慮使用 echo 除錯程式碼對比使用整合的偵錯程式所花費的時間,IDE 的購買價格絕對會物有所值。
本文轉載自PHP100!
相關文章
- Java要學哪些IDE?這些IDE都有什麼功能?JavaIDE
- 什麼是Python直譯器?和Python IDE有什麼區別?PythonIDE
- python一般都用什麼idePythonIDE
- 跨平臺的PHP IDE 盤點PHPIDE
- 什麼才是定製化IDE的核心價值?IDE
- 為什麼VSCode是程式碼編輯器而不是IDE?VSCodeIDE
- 最好的PHP IDE和PHP文字編輯器合集PHPIDE
- 宇宙第一IDE是誰?IDE
- 只改變IDE是不夠的IDE
- 【乾貨】前端開發者最常用的六款IDE前端IDE
- Python IDE之pycharm常用的快捷鍵合集!PythonIDEPyCharm
- 常用整合開發環境(IDE)的CUDA配置開發環境IDE
- Linux平臺上的PHP IDE盤點LinuxPHPIDE
- 常用PHP框架功能對比表PHP框架
- 分享Go語言的常用的五大IDEGoIDE
- 【RocketMq】什麼是,對比ActiveMq和KafkaMQKafka
- JDEVELOPER - IDEDeveloperIDE
- IDE AI- vscode / cursor / openfuse ideIDEAIVSCode
- 什麼是PHPPHP
- PHP中什麼是垃圾回收?對效能有什麼影響PHP
- 25年IDE進擊之路,Visual Studio憑什麼?IDE
- Golang IDE有哪些?常用工具推薦!GolangIDE
- IDE常識IDE
- IDE隨筆IDE
- IDE/SATA/SCSIIDE
- 改進IDE對* .gradle.kts的支援IDEGradle
- PHP - 什麼是 PHP? 為什麼用 PHP? 有誰在用 PHP?PHP
- Spring Cloud是什麼,和Dubbo對比呢?SpringCloud
- 什麼是PHP Guzzle?PHP
- Borland IDE 常用熱鍵簡介 v0.1 (轉)IDE
- Python程式設計師常用的IDE和開發工具Python程式設計師IDE
- PhpStorm 2023: 與最智慧的PHP IDE同行PHPORMIDE
- Win10硬碟模式怎麼修改為IDE模式_怎麼將win10硬碟模式更改為IDEWin10硬碟模式IDE
- 已經有 Atom 了,為什麼還要有 Atom-IDE ?IDE
- IDE 通用破解方式IDE
- stduino IDE試用UIIDE
- laravel-ide-helperLaravelIDE
- Python IDE——PycharmPythonIDEPyCharm