當前位置:才華齋>設計>網頁設計>

有關使用VisualStudio開發php的圖文設定方法

網頁設計 閱讀(2.57W)

現在,三層、mvc之類的思想遍地開花,使得程式碼和html得以分離,加之隨著開發的分工和專案的增大,一個好的IDE能為編碼工作提供了許多的便利。就像開發java用eclipse,用visual studio一樣,開發PHP也很需要一種這樣的利器。常見的php的IDE有Eclipse,NetBeans,Zend studio,等。這幾個我也都用過,其中Eclipse,NetBeans,Zend studio都有win和linux的版本,也都集成了像程式碼感知、除錯、設計、片段等的功能,都用過一陣子後發現,在windows下,個人感覺還是vsiual studio+最是好使。主要的原因就是速度。 vs的速度真的是快其他的IDE太多了,無論是從啟動速度還是使用過程中資源的耗用都要好於其他3款,畢竟是微軟自家的東西。

有關使用VisualStudio開發php的圖文設定方法

以外掛形式安裝到vs,現在已經出到2.9,支援visual studio2005~2010,到官網下載安裝即可。預設是30天試用,可以搭配visualstudio express。安裝以後,在visual studio的新建專案裡就會多出來php的專案。

當然也支援一個解決方案,多個專案。

在啟動的時候,會自動掃描包含在專案裡的php檔案,並載入到程式碼自動感知裡。同時,未避免載入太多的感知支援,預設並沒有載入不常用的php擴充套件的感知支援,如果有需要的話,可以右鍵專案,選擇Add Php Module, 在列表裡選擇要新增的擴充套件,如圖。 如果要對專案外的檔案新增感知,也可以通過右鍵專案,選擇Add Php Refence,選擇檔案新增支援。

需要除錯的話,可以編輯專案屬性,這裡的話,有個不太好的'地方就是Start page一定要設定,不然無法啟動除錯,而且按F5執行除錯時,就是開啟這個起始頁,沒辦法像那樣,運行當前開啟的頁面。

你可以根據需要選擇除錯的模式等配置,當然,如果你覺得有的東西老改麻煩的話,也可以通過修改的配置來一勞永逸。內帶了一個apache2.2在安裝目錄下,所以,選擇除錯的時候,你可以決定用內建的apache還是伺服器的apache,同時,安裝目錄下有PHP4,PHP5的目錄,裡面的東西也可以修改使用,諸如。如果使用xdebug來除錯的話,推薦修改下php5下的,新增修改下

[XDebug]

ey = vsphp

_trace=On

ect_params=On

ect_return=On

e_output_dir="d:/x-debuginfo"

iler_enable=On ;開啟效能監測器

iler_output_dir="d:/x-debuginfo"

ult_enable = On

_mem_delta=On

這樣,除錯時就會輸出除錯資訊到d:/x-debuginfo,再使用WinCacheGrind來檢視這個執行的CPU,記憶體使用情況,函式執行時間,尤其方便進行效能優化。如

Language Reference目錄下存放的是php的函式註解,智慧感知就依賴這些檔案,修改裡面的註釋資訊,就可以改變感知時的提示,現在是全英文的,不知道會不會出一個中文的註釋,期待。

在程式碼智慧感知方面,只能打到80分這樣,有的時候出不來是比較鬱悶的。當然,這可能與你將類或函式分佈在其他的檔案裡有關係,會自動解析require,include等的包含語句,並嘗試載入解析這個檔案,在使用例項化物件時,在當前的資訊不足時,會嘗試按照專案配置屬性裡的設定載入該檔案

就如同php裡面的__autoload。

另外,規範合理的註釋將為程式碼感知的提示提供極大的便利,尤其是對於自定義的類物件,尤為有效。就比如說,

這裡的$this->response,他並不知道是什麼型別,所以任何提示都不會有,但是如果加上了型別宣告 @var 型別, 那就可以正常顯示該物件的成員資訊、提示等

在斷點除錯方面,雖然有時候無法捕獲斷點,但是也算是實現了。

其實很多時候,因為這個功能的不夠可靠,這種情況我還是傾向於自己輸出變數檢視。

總的說來,個人比較喜歡,相比zendstudio,NetBeans等的執行速度和資源佔用,這無疑是更好的選擇。而且,我個人喜歡使用的頁面搭配smarty的語法作為php的模板,比起純粹的html模板,的頁面在visualstudio裡面有著無可比擬的優點,例如Masterpage和usercontroller,都能正常顯示,這個對於控制元件複用和設計而言,相當的方便。具體的模板類,有空的時候整理下再放出。

如果你還在用記事本啦,Dreamweaver之類的,不妨試試vs。