最近更新: 2007-02-09

Development within Eclipse PHP IDE (PDT)

今天在 IBM developerWorks 的 Open Source 專區中看到《PHP development within Eclipse》這一篇文章。看了一下,原來在介紹 Eclipse 中的 PHP IDE project 。文章中使用的版本和我現在用的版本一樣 (去年12月釋出) 。我使用 PHP IDE project 後,覺得跟 Java/CDT 比起來功能還是很陽春,編輯功能也不算順手。所以目前我仍然使用 PSPad 作為程式編輯器。

順道看了一下 PHP IDE project 的網站,發現計劃名稱改為 PDT (PHP Development Tool) 了。以下就用 PDT 稱呼 PHP IDE 。

雖說功能陽春,其實 PDT 目前在程式碼結構瀏覽與即時提示這一方面仍然很方便。此外,它可以在視覺環境下操作 CVS/SVN 以及 Debugger ,對程序員的開發工作助益不少。有興趣的可以到 PDT projects downloads 頁面下載工具。未用過 Eclipse 者可以下載 All in One 包裝;已安裝 Eclipse 者,可透過 Software udpate 安裝 PDT package ,但 Eclipse 要 3.2.1 以上版本。《PHP development within Eclipse》中有圖文並茂的安裝說明 (包含 Zend Debugger) 。我補充一些使用時的擷取畫面。

手冊路徑設定
PDT 的 本地 PHP Manual 路徑設定

PDT 預設是查詢 PHP 網站上的線上 PHP manual ,這種作法的反應速度當然很慢。所以我是自行下載 HTML 多頁版的 PHP manual 到工作電腦上,再設定 PDT 預設查詢的手冊路徑為本地路徑。但線上版 manul 有個優點,就是有使用者加上的回應內容與經驗談。如果想用線上版 manual ,建議將線上版 manual 的 URL 從 www.php.net 改為台灣映射站 tw.php.net ,反應速度會快上許多。

變數名稱即時提示
即時變數名稱提示畫面

輸入時會即時提示變數名稱,可以用鍵盤上、下方向鍵從提示清單中挑選變數。

函數宣告即時提示
函數宣告提示畫面

輸入函數名稱再加上左邊的小括號,例如 preg_match( 時, PDT 會自動補齊右邊的小括號並提示函數參數宣告內容。但目前只能提示 PHP 內建函數,無法提示使用者定義的函數。此外,提示內容顯然來自一份另外整理的資料而不是直接解析 PHP manual ,因此新加入的 PHP 函數也不會提示,例如 json_decode() 這個 PHP 5.2 的新增函數就不會出現提示內容。

樂多舊網址: http://blog.roodo.com/rocksaying/archives/2711065.html

樂多舊回應
HACGIS@gmail.com(tokimeki) (#comment-3942702)
Fri, 09 Feb 2007 16:02:23 +0800
這個 IDE 目前我不用是因為兩點:
1. 沒有 Class Explorer
2. Code Beautiful 功能對中文變數會爛掉
未留名 (#comment-3943102)
Fri, 09 Feb 2007 17:58:54 +0800
左下角的那個不是你要的 class explorer 嗎?

我沒用過 code beautiful 功能... 說到基本的編輯動作,我覺得 PDT 不是很方便,反而不如 PSPad, UltraEdit 這些專業編輯器。雖然即時變數提示功能很方便,但我們又不是在寫 Java/C# ,輸入冗長符號名稱的機會不高。所以當我發現 PDT 的基本編輯功能不方便時,就沒有用了。
juneshi@eyou.com(石军) (#comment-4384879)
Tue, 10 Apr 2007 10:36:01 +0800
配置Web Server Debugger 时调试不了,不知什么原因,我下载了 Debugger Extension Binaries 按包里的Readme 说明操作了。
重启Apache后, PHPINFO 显示出来是这种情况:

Expose Zend Debugger always
Passive Mode Timeout 20 seconds

Directive Local Value Master Value
zend_debugger.allow_hosts no value no value
zend_debugger.allow_tunnel no value no value
zend_debugger.connect_password no value no value
zend_debugger.connector_port 10013 10013
zend_debugger.deny_hosts no value no value
zend_debugger.httpd_uid -1 -1
zend_debugger.max_msg_size 2097152 2097152

这个好像有问题是吗?
未留名 (#comment-16429047)
Thu, 15 May 2008 18:00:52 +0800
個人覺得很好用
如果是大型專案的話
把php當java來開發速度上會快上許多
目前是希望還能再加入對smarty的支援以及儲存後自動上傳