摘要:本文發(fā)掘集成開發(fā)環(huán)境(IDE)的所有用途,并比較7種流行的IDE的成本和優(yōu)勢。編寫關(guān)于PHP的系列文章讓我更加深刻地了解了PHP開發(fā)人員的世界。我和許多PHP程序員交談過,最令我驚奇的是只有很少的人使用IDE。大多數(shù)程序員使用文本編輯器,比如MicrosoftWindows上的記事本、Emacs或者Vim。我提到的這些文本編輯器(
編寫關(guān)于 PHP 的系列文章讓我更加深刻地了解了 PHP 開發(fā)人員的世界。我和許多 PHP 程序員交談過,最令我驚奇的是只有很少的人使用 IDE。大多數(shù)程序員使用文本編輯器,比如 Microsoft Windows 上的記事本、Emacs 或者 Vim。
我提到的這些文本編輯器(以及我沒提到)都是很不錯的 —— 我不想討論哪個編輯器更好。但是,我要強調(diào)的是不使用文本編輯器會使您對 PHP 代碼有更深的見解。幾乎所有人都將 PHP 項目視為只不過是文件目錄而已(這種看法十分片面)。現(xiàn)在就讓我?guī)M入 IDE 的世界,向您展示 IDE 能夠 —— 或者應該 —— 給您帶來什么,并向您介紹七個最流行的 IDE。
什么是 IDE?
簡而言之,IDE 為編碼工作提供了一站式服務。IDE 包括一個編輯器,在此編輯器內(nèi)可以編輯代碼、調(diào)試代碼、在瀏覽器(通常是嵌入式的)中查看代碼和簽入和簽出源碼控制。為了支持這些功能,IDE 擁有一套在基本編輯器(比如記事本或者 Vim)中所找不到的特性。當然,您可以通過擴展編輯器來實現(xiàn)這些功能,但是 IDE 在一個精簡軟件包中囊括了所有這些功能 —— 并都已預配置:
項目
IDE 的一個關(guān)鍵特性是它把一個 PHP 應用程序看作是一個項目,而不僅僅是一組文件。這個概念 —— 項目 —— 維護額外的信息,比如源碼控制的配置、用于調(diào)試的數(shù)據(jù)庫設置,以及某一關(guān)鍵目錄所在位置。
調(diào)試
另一個方便的特性是集成調(diào)試。使用這個功能,可以在編輯器中設置斷點,當 PHP 解釋程序執(zhí)行到這個腳本時就會停止。從斷點開始,就可以檢查局部變量的值,在代碼中診斷問題。在代碼中可以使用 echo 語句來檢查值或者也可以使用錯誤日志獲得變量的值。
代碼智能
PHP 是一種非常規(guī)則的編程語言,這意味著它遵循著簡單的模式。這些模式不僅使代碼易于編寫,也使 IDE 在項目中檢查代碼變得很容易。此外,它們可以通過顯示檢查結(jié)果幫助您編寫程序。例如,如果在項目中定義了一個名為 MyClass 的類,在鍵入關(guān)鍵詞 new 時,IDE 會立即提供一個包括 MyClass 作為選項的彈出窗口。當使用那種類型的對象時,IDE 就會顯示它的可用方法和實例變量。當開始鍵入一個函數(shù)命令時,IDE 就會顯示它的可用參數(shù)。公正地說,這是應該使用 IDE 而不是文本編輯器的首要原因。這種代碼智能可以有效減少敲錯類名、方法名和參數(shù)。
類視圖
IDE 中的代碼智能引擎產(chǎn)生的另一個作用是 IDE 可以產(chǎn)生項目的 類視圖。系統(tǒng)不是顯示文件,而是顯示已經(jīng)定義的不同的類,而不管它們所在的文件。當單擊類時,編輯器訪問相應文件并顯示相應類、方法或者實例變量。這在大項目中是一種非常好的導航方法。
多語言支持
這里提到的每種 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)的連接,允許隨著時間維護項目中的文件版本??梢詷擞浳募奶貏e版本為發(fā)布版本,這樣在需要撤銷改動的時候就可以恢復。在團隊環(huán)境中使用源碼控制系統(tǒng)是很關(guān)鍵的,即使對于個人使用也很重要。當磁盤癱瘓或者客戶突然想要以前的版本而不是現(xiàn)在的版本的時候,一個好的源碼控制系統(tǒng)就可以發(fā)揮作用了。大多數(shù)的 IDE 都支持 Concurrent Version System (CVS) 和 Subversion,它們都是開源控制系統(tǒng)。其中一種 IDE 支持 Perforce —— 一款商業(yè)源碼控制系統(tǒng)。
FTP/SFTP 集成
與源碼控制相關(guān)的一種功能是在服務器中對于最新的代碼使用 FTP 。這比使用 FTP 客戶機或者自己打包文件并發(fā)送給服務器然后再解包要容易許多。
數(shù)據(jù)庫導航
一個非基本但十分有用的特性是數(shù)據(jù)庫導航。使用這個特性,可以瀏覽應用程序訪問的數(shù)據(jù)庫、找到表格和字段名并返回查詢結(jié)果。一些系統(tǒng)甚至可以自動寫入一些數(shù)據(jù)庫訪問代碼。
集成 Web 瀏覽器
一些 IDE 支持集成 Web 瀏覽器,可以直接導航到正在使用指定的附加參數(shù)編輯的頁面,這個瀏覽器可以宿主在 IDE 內(nèi),也可以外部調(diào)用。誠實地講,我并不大喜歡集成瀏覽器,因為我不介意在編輯代碼和查看結(jié)果這兩個獨立的應用程序之間切換。但是我知道它確實有一定的作用,但您不必一定要使用它。
軟考備考資料免費領(lǐng)取
去領(lǐng)取