php單態
1. php,jsp,asp三者優缺點...
php優點
1. 跨平台,性能優越,跟Linux/Unix結合別跟Windows結合性能強45%,並且和很多免費的平台結合非常省錢,比如LAMP(Linux
/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結合,或者數據應用夠大可以考慮換
PostgreSQL或者Oracle,支持N種資料庫。(N >= 10)
2. 語法簡單,如果有學習C和Perl的很容易上手,並且跟ASP有部分類似。有成熟的開發工具,比如NuPHPed,或者Zend
Studio等等,再Linux平台下可以使用Eclipse等等。
3. 目前主流技術都支持,比如WebService、Ajax、XML等等,足夠應用。
4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做資料庫抽象層,用Smarty或者smart template做模板層,如果是PHP
5.1的話,還能夠使用PDO(PHP Data Object)來訪問資料庫。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅動的框架:Prado,支持類似Ruby On
Rails的快速開發的框架:Cake等等,足夠滿足你的應用需求。
6. PHP 5已經有成熟的面向對象體系,能夠適應基本的面向對象要求。適合開發大型項目。
7. 有成熟的社區來支持PHP的開發。
8.
目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。
9. 有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend
Framework、CakePHP、CodeIgniter、symfony等,開源論壇有Discuz!、Phpwind等,開源博客
WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。
php缺點
1.對多線程支持不太好,大多數時候我們只能簡單的模擬去實現的。
2.語法不太嚴謹,比如變數不需要定義就可以使用,在c,java,c++中變數是必須先定義以後才可以使用的。
3.也許有經驗的PHP程序員最感到痛苦的地方是PHP的解釋運行機制。這種運行機制使得每個PHP頁面被解釋執行後,所有的相關資源都會被回收。也就是說,PHP在語言級別上沒有辦法讓某個對象常駐內存。在PHP中,所有的變數都是頁面級的,無論是全局變數,還是類的靜態成員,都會在頁面執行完畢後被清空。以JSP為例,在JSP中,Java
Bean的scope有四種有效值:Page、Application、Session、Request,分別對應頁面、程序、會話、請求四種生存期。但在PHP中,只有Page一種生存期。
JSP的優勢
(1)一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統之外,代碼不用做任何更改。
(2)系統的多平台支持。基本上可以在所有平台上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的局限性是顯而易見的。
(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多台伺服器進行集群和負載均衡,到多台Application進行事務處理,消息處理,一台伺服器到無數台伺服器,Java顯示了一個巨大的生命力。
(4)多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,並且其中許多已經可以順利的運行於多種平台之下。
JSP的劣勢
(1) 與ASP一樣,Java的一些優勢正是它致命的問題所在。正是由於為了跨平台的功能,為了極度的伸縮能力,所以極大的增加了產品的復雜性。
(2)
Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是「最低性能價格比」了。從另一方面,它還需要硬碟空間來儲存一系列的。java文件和。class文件,以及對應的版本文件。
ASP的特點:
1、任何開發工具皆可發展ASP
只要使用一般的文書編輯程序,如Windows記事本,就可以編輯。當然,其他網頁發展工具,例如,FrontPage Express、
FrontPage等也都可以;不過還是建議你用記事本來寫,既省錢又方便,若是使用那些所見即所得的網頁編輯來寫ASP,可能會發生一些意想不到的離奇狀態。
2、通吃各家瀏覽器
由於ASP程序是在網路伺服器端中執行,執行結果所產生的HTML文件適用於不同的瀏覽器。
3、語言相容性高
ASP與所有的ActiveX Script語言都相容,除了可結合HTML,VBScript、Java Script、Active
X伺服器組件來設計外,並可經由「plug-In(外掛組件模組)的方式,使用其他廠商(Third Party)所提供的語言。
4、隱密安全性高
如果我們在瀏覽器中直接查看網頁的原始代碼,就只能看到HTML文件,原始的ASP程序代碼是看不到的!這是因為ASP程序先於網站服務(Web
Server)端執行後,將結果轉換成標准HTML文件,再傳送到客戶端(Client)的瀏覽器上,因此,我們所辛苦撰寫的ASP程序並不會輕易地被看見進而被盜用。
5、易於操控資料庫
ASP可以輕易地通過ODBC(Open Database
Connectivity)驅動程序連接各種不同的資料庫,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可將「文本文件」或是」Excel」
文件當成資料庫用。
6、面向對象學習容易
ASP具備有面向對象(Object-Oriented)功能,學習容易,ASP提供了五種方便能力強大的內建對象:Request、Response、Sever、Application以及Session,同時,若使用ASP內建的「Application」對象或」Session」對象所撰寫出來的ASP程序可以在多個網頁之間暫時保存必要的信息。
2. php如何單步調試
PHP本就是腳本語言,程序執行就是「單線程」。
要測試節點或者邏輯是否正確的話,只需要在你需要測試的節點echo一下信息,還可以file_put_contents()寫入日誌信息。
這樣程序執行的基本流程就可以了,這時候就可以判斷,你程序的節點邏輯是否執行正確。