登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
技術專欄 撰寫 PHP 程式的經驗分享

撰寫 PHP 程式的經驗分享

對於已經熟悉C/C++ 或是 Java 的程式人員來說, PHP 是一種很容易上手的程式語言。針對開發網路應用程式,它內置的函式庫和較不嚴謹的語法縮短了不少開發時間。現在 PHP 最新版本是 5.1.4,不過還有很多以 PHP 版本 4 來開發的開放原始碼軟體。因工作上的需要,經常要撰寫一些 PHP 程式(以版本 4 的為主)。以前有花一些時間去研究相關的 PHP 開發及除錯工具(都以開放原始碼的為優先選擇),以下是一些個人經驗分享:

撰寫 PHP 工具:
一套好的程式編輯器必須要具備幾個重要的條件:
1) 程式碼的顯示要整齊和容易閱讀
2) 具備自動縮排和括孤對比檢查
3) 快速的文字搜尋功能(能針對目錄及子目錄作搜尋)
4) 能支援萬國碼 (UTF-8) 編輯
曾經試用過 PHPEclipse 的開發平台,它是以十分流行作 Java開發平台的 Eclipse為基礎,加入支援 PHP 語言的編輯器及控制 LAMP 伺服器的開關。有使用過 Eclipse 的使用者會很容上手,加上它提供了一個內置的網頁瀏覽器(使用 Internet Explorer 的引擎),撰寫/除錯/瀏覽動作均能在單一介面下執行。進階使用者可以嘗試安裝 XDebug 模組,讓使用者可以在 Eclipse的除錯環境中,一行一行地執行 PHP 程式碼,以及檢看每一個執行中變數值。不過 XDebug 模組安裝不容易,在 Windows 下安裝必須取得它的 DLL 檔案(請務必注意是否跟系統上的 PHP 版本和 PHPEclipse 版本相容)。之前費了不少時間在找出相容的 Eclipse, PHPEclipse 和 XDebug 版本,請注意PHPEclipse 官方網站上的「穩定版本」,通常不是最新的產出版本。雖然最後安裝成功,但除錯功能不穩定。再加上 Eclipse 本身啟動時間及操作反應速度較一般的文字編輯器為慢,現在撰寫 PHP 程式較少使用 PHPEclipse。不過值得一提是 Eclipse內建的 CVS (Concurrent Versioning System) 使用者端程式十分容易使用,適合開發團隊使用。 如果形容 PHPEclipse 為重量級軟體,Notepad++ 則是輕量級的文字編輯器。Notepad++ 十分適合快速編輯任何文字檔案,如 TXT、INI、HTML、CSS、PHP、等檔案。它的介面十分簡單,可以用不同顏色區分不同類型檔案的關鍵字,也有一般的自動縮排及支援 UTF-8(萬國碼)的文字編輯。 對於一般大小的程式碼都有不錯的反應速度,不過較不適合開啟容量大的文件,和它的跨目錄的文字搜尋功能。值得一提 是它有不少實用的外掛模組,如 Function List 會把同一檔案的 PHP Function 名稱建立清單,使用者可以點選名稱來直接到達該 Function 在原始碼上的宣告部份。另外也有別的外掛模組可以把HTML 原始碼作重新縮排的整理,以及作基本的語法測試。 在開放原始碼中還有不少的 PHP 撰寫工具,Notepad++ 和 PHPEclipse都是不錯的選擇。最後通常是取決於使用者的喜好和習慣。雖然使用 Notepad++ 缺乏了一些如CVS、除錯等強大功能,不過可以搭配 Tortoise CVS 和 Winmerge 來填補它的一些不足之處。 (本篇文章由百加資通公司提供,不代表鑄造場電子報立場。) ※ 關於百加資通
百 加資通公司主要成員是由來自國內外具有電腦專長及有多年業界經 驗的同好所組成,我們以提供專業的開放源碼服務為原則,內容含蓋 開放源碼的專案開發、導入以及教育訓練等,希冀能夠為企業提供一個合理與高品質的軟體服務。另外,為了降低初次接觸開放源碼使用 者的門檻,百加資通設立了開放源碼安裝教學網站
https://www.opensourceinstall.org,以動畫教學的方式,將使用者帶入開放源碼的世界,希望能為開放源碼的推廣盡一份心力。
相關網址:
1.PHPEclipse 官方網站
2.Eclipse官方網站
3.Notepad++
4.Tortoise CVS
5.Winmerge
6.OpenSourceInstall.org (PHPEclipse 動畫教學)




自由軟體鑄造場電子報 : 第 63 期 IOSESC 2006 頒獎典禮
標籤: 
分類: 技術專欄