Post view

PHP的IDE整合開發環境:NetBeans 7.4 for Mac OS X

關於Eclipse請參考這兩篇文章:

PHP的IDE整合開發環境:Eclipse 4.4 for Mac OS X

PHP的IDE整合開發環境:Eclipse 4.4 for Windows

PHP是「Hypertext Preprocessor」的縮寫,這是用來撰寫「網站系統」的一種電腦程式語言,使用這種電腦程式語言,可以在不需要任何Compiler編譯器的情況下,由Web Server直接執行PHP的原始程式碼來產生動態的網頁畫面。所謂的「動態的網頁畫面」並不是指「動態影片,動畫的網頁」,而是該網頁本身並不存在,完全不像早期的「HTML網頁」全部都是由靜態的 index.html 之類的純文字文件的「HTML檔案」所組成,如果網站管理人員不修改「HTML網頁」內容,那麼任何人都會看到完全相同的網頁畫面(當然網頁上可以包含 .gif 動態圖片,影片,聲音等)。

然而「動態網頁」的「HTML檔案」完全不存在伺服器電腦上!而是由PHP程式的「列印」指令,把所需的「HTML」網頁內容列印給使用者的瀏覽器,由瀏覽器來接收PHP產生的「虛擬HTML檔案」來看到網頁內容。

以insoler網站來說,全網站上都沒有任何的「HTML檔案」你看到的網頁,全部都是由PHP程式列印輸出而產生的。其他的Facebook、Yahoo等網站,也是使用相同的技術。笑い

早期電腦程式語言的「Compiler編譯器」只有「命令列」的編譯程式環境,連「視窗界面」都沒有,所以需要另外的「純文字編輯器」來編寫原始程式碼,還需要提供「Debug除錯器」來協助程式設計者,可以更方便地找出程式碼裡面的Bug臭蟲。也因此像是當年在MS-DOS時代的「Turbo C」之類的電腦程式編輯器,就從簡陋的「命令列」模式,設計成純文字環境的視窗操作方式的「IDE」界面,之後進入Windows時代,就變成純圖形視窗操作界面的「IDE」程式。

IDE是Integrated Development Environment的縮寫,事實上,現在的「電腦程式語言」已經沒有簡陋的「純文字命令列Compiler編譯器」(Linux不予討論),所有的電腦程式語言的編寫環境,全部都是IDE模式,通通都有內建「Editor文字編輯器」「Compiler編譯器」「Debug除錯器」,方便程式設計者可以更簡單方便,快速的專注在程式開發上。笑い

只有某些少數例外的「電腦程式語言」不但沒有簡陋的「命令列Compiler編譯器」,甚至連「IDE程式開發環境」都欠缺!而其中的「PHP」這種網頁專用電腦程式語言,就是其中的一種。

為什麼「PHP」會不像C、C++、Objective-C、C#、Visual Basic、Visual Pascal (Delphi) 等「電腦程式語言」一樣,擁有完整的IDE電腦程式開發環境?未決定答案很簡單,最大的問題就是「免費」!在微軟、Borland等廠商們無利可圖的情況下,根本沒人願意投資開發一套「完全免費」的IDE系統!也因此任何只要是關於「免費」的東西,通常也代表著極度的簡陋,難以使用!

雖然也有某些「免費」又好用的東西,但畢竟是少數。在幾十萬,幾百萬個「智慧手機」上的App,絕大多數「完全免費」(不是之後要另外收費)大多都是爛App!畢竟一家「商業公司」開發出一個App需要請好幾位電腦程式設計師,投資許多的金錢與時間,卻全部都「永久免費下載」我不認為會有這種公司!包括「Line」這種廣為使用的App也不例外!


PHP(全稱:PHP:Hypertext Preprocessor,即「PHP:超文字預處理器」)是一種開源的通用電腦指令碼語言,尤其適用於網路開發並可嵌入HTML中使用。PHP的語法借鑒吸收了C語言、Java和Perl等流行電腦語言的特點,易於一般程式設計師學習。PHP的主要標的是允許網路開發人員快速編寫動態頁面,但PHP也被用於其他很多領域。

PHP的應用範圍相當廣泛,尤其是在網頁程式的開發上。一般來說PHP大多執行在網頁伺服器上,透過執行PHP程式碼來產生使用者瀏覽的網頁。PHP可以在多數的伺服器和作業系統上執行,而且使用PHP完全是免費的。根據2007年4月的統計資料,PHP已經被安裝在超過2000萬個網站和100萬台伺服器上。

PHP on Microsoft Windows PHP 5.5.8 是由 Microsoft VC11 所編譯;其將不支援舊有的 Windows XP 系統。


整合開發環境(Integrated Development Environment,簡稱IDE,也稱為Integration Design Environment、Integration Debugging Environment)是一種輔助程式開發人員開發軟體的應用軟體。

IDE通常包括程式語言編輯器、自動建立工具、通常還包括除錯器。有些IDE包含編譯器/直譯器,如微軟的Microsoft Visual Studio,有些則不包含,如Eclipse、SharpDevelop等,這些IDE是通過調用第三方編譯器來實現代碼的編譯工作的。有時IDE還會包含版本控制系統和一些可以設計圖形用戶界面的工具。許多支援物件導向的現代化IDE還包括了類別瀏覽器、物件檢視器、物件結構圖。雖然目前有一些IDE支援多種程式語言(例如Eclipse、NetBeans、Microsoft Visual Studio),但是一般而言,IDE主要還是針對特定的程式語言而量身打造(例如Visual Basic)。


既然「PHP完全是免費的」就不例外的,表示PHP整套系統極為簡陋!甚至研發PHP的團隊都沒有幫PHP自己寫一套簡單好用的IDE出來!導致你想要找一套「簡單好用」「PHP整合開發環境的IDE程式」就變得居指可數,找到的「免費IDE」大多都很難用!

當然,要付費的PHP IDE也不見得好用!畢竟這些IDE全部都不是PHP團隊設計出來的程式!

如果像我們一樣,想要找一套能支援Windows與Mac OS X系統平台(像是Adobe CS或CC系列,以及微軟的Office系列),更是「天方夜譚」!這種「PHP IDE」根本就不存在!主要理由當然是「無利可圖」!自然沒有人想做。

網路上能找到同時Windows與Mac OS X的系統,只有一些使用JAVA語言開發出來的「半整合系統」!這些號稱「IDE」的系統都不是專為開發PHP而設計!而且全都是因為「開放原始碼」的緣故,全都共用相同原始碼,導致實際的IDE程式根本就大同小異!因此「Aptana Studio 3」與「Eclipse」頗有相互抄襲之嫌!

但是同樣使用Java撰寫的PHP IDE程式的「NetBeans」就徹頭徹尾完全不同!而且「NetBeans」同樣是完全免費使用!

請先到這裡下載最新的版本: NetBeans IDE 下載

NetBeans 7.3 IDE 下載

目前最新的版本是「NetBeans 7.4」但「NetBeans 8.0 Beta」測試版也已經發表。不過,如果你想要安裝在OS X Mavericks 10.9的話,由於目前「Java for OS X 2013-005」只支援「Java SE 6」而不是新的「Java 7」所以無法安裝「NetBeans 7.4」!

因為「NetBeans 7.4」必須使用「Java 7」以上的版本,我並不建議你另外安裝「Java 7」導致與OS X系統不相容,所以想要安裝「NetBeans」的話,建議你下載略微舊一點點的「NetBeans 7.3」版,這個版本只要使用「Java 6」就可以安裝執行了。

雖然還有更新一點的「NetBeans 7.3.1」版,但是這個版本沒有「正體中文版」可以下載,所以你可以下載「NetBeans 7.3」繁體中文版或是選擇「NetBeans 7.3.1」的英文版或日文版。


Java for OS X 2013-005

Java for OS X 2013-005 將 Java SE 6 更新至 1.6.0_65,藉此改進了安全性、可靠性和相容性。

在尚未安裝 Java for OS X 2012-006 的系統上,此更新項目會停用 Java SE 6 Applet 外掛模組。若要在網頁中使用 Applet,請按一下標示了“遺失外掛模組”的區域來從 Oracle 下載最新版本的 Java Applet 外掛模組。

安裝此更新項目前,請先結束所有 Java 應用程式。


安裝好「NetBeans 7.3」就會看到這樣的畫面,雖然是「繁體中文版」但很顯然翻譯只完成不到一半!還有一大半,甚至幾乎所有的「對話窗」都是英文界面!甚至就連最常用的「檔案」功能表也只翻譯完一半,還有一大半都還是英文界面。

netbeans7401.jpg

「NetBeans」的用法就像「Eclipse」與「Aptana Studio 3」,先點選「檔案 / New Project」建立一個新的程式計劃。其實就算點選「PHP Application」之後還是可以把想要除錯的PHP檔案複製進去,完全沒有「Eclipse」的缺點!

netbeans7402.jpg

你可以輸入程式計劃名稱,原始碼的檔案夾路徑,或是直接使用預設值,直接按「下一步」。

netbeans7403.jpg

但如果要使用Web Server除錯的話,上面的檔案路徑就必須位於Web Server的根目錄底下。以Mac OS X Server來說,通常是把網站檔案放在「資源庫 / WebServer / Documents」或是「資源庫 / Server / Web / Data / Site / Default」。

netbeans7404.jpg

初學PHP程式設計的話,不需要這些「框架」系統,只要直接按「完成」即可。

netbeans7405.jpg

「NetBeans」不但會自動讀取我們手動複製到「資源庫 / Server / Web / Data / Site / Default」裡面的所有PHP檔案,甚至還會「自動檢查PHP語法錯誤」!只要有語法錯誤的檔案夾、PHP程式都會被加上紅色驚歎號!

你看到的是某一本「PHP程式設計」的「書附光碟」裡面的範例程式,很顯然竟然有好幾個程式都有明顯的語法錯誤!你可以看到一個「if」後面竟然有連續兩個「else」指令!

甚至連「 } 」大括號後面還加上「 } ; 」分號這種明顯的語法錯誤也會犯!還不止錯一次!

netbeans7406.jpg

在「ch08」裡面也有幾個明顯的語法錯誤。

netbeans7407.jpg

通常要除錯只要點選「Debug / Debug File」就可以針對目前編輯的PHP程式進行逐步執行、除錯。

netbeans7408.jpg

由於NetBeans會呼叫瀏覽器來顯示這個PHP程式的執行結果,而不是把逐步執行的結果顯示在分割視窗裡面,所以要進入「Debug File」之前,要確認你的專案計劃路徑是放在「Web Server」的根目錄底下。

netbeans7409.jpg

但不知道是出了什麼問題,同樣的Mac OS X Server伺服器主機上的PHP+XDebug設定方式,「Aptana Studio 3」與「Eclipse」可以正常執行、除錯,但NetBeans不行!

netbeans7410.jpg

由於NetBeans會自動找到PHP,所以開啟「偏好設定」之後,點選「PHP」就會看到PHP的正確設定!

netbeans7411.jpg

當然,XDebug的設定也沒什麼太大的問題。我也有按照指示把php.ini裡面的「Output_buffering = 4096」改成「Output_buffering = Off」。但就算這樣,NetBeans還是無法除錯!但是完全相同的php.ini設定、完全不變的XDebug設定,「Eclipse」與「Aptana Studio 3」卻可以除錯!

netbeans7412.jpg

要使用「IDE整合開發環境」的「Debug除錯功能」,必須先「手動設定」好PHP的除錯環境,才能繼續使用NetBeans。畢竟是「免費IDE」不能像「付費IDE」那樣強求,只要按「下一步」把Eclipse「安裝」好就全部都能用了!

我們使用的是普通版本的Mac OS X Mavericks 10.9,而不是OS X Server伺服器版本。雖然標準版現在已經不含「Web Server」的個人網頁功能,但我們也不需要Web Server,就可以開發簡單的PHP程式並除錯。

1. 打開終端機,然後輸入底下的指令:

sudo cp /etc/php.ini.default php.ini

先複製出一個標準的「php.ini」設定檔案。

2. 點選「Finder」的「前往檔案夾」,然後輸入「/etc」再按下「前往」,找到這個「php.ini」檔案,然後在檔案最後新增底下的資料(請注意,不同的OS X版本,可能「no-debug-non-zts-20100525」這個檔案夾名稱會不同,請自行確認清楚):

[xdebug]

zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"

xdebug.idekey="netbeans-xdebug"

xdebug.remote_enable=1

xdebug.remote_handler=dbgp

xdebug.remote_port=9000

xdebug.remote_autostart=1

xdebug.remote_connect_back=1

xdebug.remote_host=localhost

3. 登出再重新登入帳號,或是重新開機,然後回到「終端機」輸入底下的指令來確認顯示的PHP資訊畫面裡,有沒有開啟XDebug模組了?

php -i

如果你不斷的往回找都找不到畫面上有XDebug字樣,那就表示沒有設定好,只好再檢查一下,你做錯了哪一步?

相較於極為簡陋的「正體中文」翻譯,「日本語」反而幾乎100%完全翻譯完成!幾乎看不到英文!

netbeans7413.jpg

包括對話窗裡面的所有資訊全部都翻譯成「日本語」!

netbeans7414.jpg

雖然有完整的「日本語」語系,對日本的PHP程式設計者來說是一件非常好的事情,但是NetBeans還是無法除錯!

蘇言霖 2014/01/28 0 3805
Comments
Order by: 
Per page:
 
  • There are no comments yet
Rate
0 votes
Post info
蘇言霖
「超級懶貓級」社群網站站長
2014/01/28 (3733 days ago)
Actions