PHP VS ASP
更新時(shí)間:2006年10月09日 00:00:00 作者:
PHP versus ASP
Thu, Aug 17, 2000; by John Lim.
序:
微軟的ASP是一項(xiàng)強(qiáng)大的動(dòng)態(tài)WEB頁(yè)面技術(shù),我已經(jīng)使用了一年的ASP,用它創(chuàng)建了許多的WEB站點(diǎn),但是現(xiàn)在我的公司正想轉(zhuǎn)向另一項(xiàng)叫PHP的INTERNET技術(shù),來(lái)進(jìn)行以后的WEB站點(diǎn)開發(fā)。
問(wèn)題是我們已經(jīng)習(xí)慣于使用ASP,并且喜歡用它,為什么我們要轉(zhuǎn)向PHP呢?
開放源碼運(yùn)動(dòng)
首先,我們認(rèn)識(shí)到,開源運(yùn)動(dòng)使我們獲得了強(qiáng)大的技術(shù)支持和免費(fèi)的代碼供應(yīng)。例如:在ASP中,上傳文件、加密密碼、發(fā)送郵件都需要第三方的商業(yè)軟件的支持,是要收費(fèi)的;但在PHP中,這一切是免費(fèi)的!
但這還不足以說(shuō)服我們轉(zhuǎn)向PHP,因?yàn)槲覀円呀?jīng)投入了大量的時(shí)間和金錢在這些必需的商業(yè)軟件工具上。
INTERNET程序和LINUX
我有一個(gè)夢(mèng)想,我希望在將來(lái)每一個(gè)程序都是一個(gè)INTERNET程序。不用再需要購(gòu)買軟件包,不要再去安裝它,它們能在INTERNET上得到,并且已經(jīng)是安裝好的,我們只要在瀏覽器中運(yùn)行程序,這不會(huì)需要太多的配置。
大部分的網(wǎng)絡(luò)應(yīng)用程序都運(yùn)行在LINUX和PHP上。它們通常不使用ASP,有一種軟件叫Chilisoft ASP,它能在LINUX上運(yùn)行ASP,但它是要錢的,同時(shí)它也不支持最新版的ASP,更重要的是創(chuàng)建高性能ASP站點(diǎn)所用的好的第三方DLL都不能運(yùn)行在LINUX上。
于是,為了實(shí)現(xiàn)我們的INTERNET軟件夢(mèng)想,我們決定尋找一種更好的,接近于ASP的技術(shù)來(lái)替代它!
ISAPI的支持
ZEND團(tuán)隊(duì)正在開發(fā)的PHP核心引擎中就包括一個(gè)ISAPI引擎。
ISAPI是一種MICROSOFT的INTERNET WEBSERVER API,它的應(yīng)用,使我們這些習(xí)慣于在WINDOWS下開發(fā)程序的程序員有了一條通向LINUX的捷徑。
技術(shù)分析
每個(gè)人都聲稱自己的產(chǎn)品最快,這不是我真正關(guān)心的---我只關(guān)心“足夠快”,對(duì)我來(lái)說(shuō),PHP足夠快!
ASP支持多種程序語(yǔ)言。這種體系使得程序天生就帶有慢和多內(nèi)存占用,它的每一種語(yǔ)言解析就相當(dāng)于一個(gè)PHP編譯,(就是說(shuō),當(dāng)ASP開始解析一條代碼時(shí),它相當(dāng)于同時(shí)開動(dòng)多個(gè)PHP),當(dāng)ASP解析到一個(gè)ASP開始標(biāo)記(<%)時(shí),它需要跳出HTML解析進(jìn)程而去選擇另一個(gè)適當(dāng)?shù)慕馕鲞M(jìn)程,當(dāng)它解析到一個(gè)ASP結(jié)束標(biāo)記時(shí),它又得退回到HTML解析進(jìn)程。
同時(shí),ZEND打算發(fā)布一個(gè)可以保護(hù)我們?cè)创a的編譯器,以及各種不同的優(yōu)化技術(shù)(Zend Cache and Optimizer),甚至于實(shí)現(xiàn)PHP在WINDOWS下的良好應(yīng)用,無(wú)疑,PHP在這一方面又將強(qiáng)于ASP!
一個(gè)使用PHP的商業(yè)決定
相對(duì)于PHP來(lái)說(shuō),這里有許多其它的開放源碼選擇,比如說(shuō)perl,python/zope and jsp/tomact。對(duì)我來(lái)說(shuō),PHP最接近于ASP,同時(shí)也易于轉(zhuǎn)換!
Perl: 一種不適用于大項(xiàng)目的語(yǔ)言.
Python/Zope:一種很好的語(yǔ)言,但它的體系不如PHP那般的接近ASP.
JSP/Tomcat: 我認(rèn)為,比起腳本語(yǔ)言來(lái),type-safe, type-bound, type-checking Java 不太好操作!
代碼
我們注意到,我們用PHP開發(fā)的代碼比用ASP開發(fā)的要短,這是因?yàn)椋赑HP中HTTP GET和POST變量自動(dòng)創(chuàng)建為全局變量,這樣我們就不要再花費(fèi)太多的時(shí)間去分析ASP REQUEST對(duì)象了。
同時(shí)PHP的include()函數(shù)非常好,我們能有條件的include代碼,以使我們的代碼盡量精簡(jiǎn),更加易懂!
PHP有著相似于ASP的COOKIE和SESSION管理功能。
結(jié)論:
我現(xiàn)在還在使用PHP,在所有的地方使用“$”這個(gè)符號(hào),它是非??岬模瑫r(shí)它也是我最喜歡的一個(gè)符號(hào)?。海?
Thu, Aug 17, 2000; by John Lim.
序:
微軟的ASP是一項(xiàng)強(qiáng)大的動(dòng)態(tài)WEB頁(yè)面技術(shù),我已經(jīng)使用了一年的ASP,用它創(chuàng)建了許多的WEB站點(diǎn),但是現(xiàn)在我的公司正想轉(zhuǎn)向另一項(xiàng)叫PHP的INTERNET技術(shù),來(lái)進(jìn)行以后的WEB站點(diǎn)開發(fā)。
問(wèn)題是我們已經(jīng)習(xí)慣于使用ASP,并且喜歡用它,為什么我們要轉(zhuǎn)向PHP呢?
開放源碼運(yùn)動(dòng)
首先,我們認(rèn)識(shí)到,開源運(yùn)動(dòng)使我們獲得了強(qiáng)大的技術(shù)支持和免費(fèi)的代碼供應(yīng)。例如:在ASP中,上傳文件、加密密碼、發(fā)送郵件都需要第三方的商業(yè)軟件的支持,是要收費(fèi)的;但在PHP中,這一切是免費(fèi)的!
但這還不足以說(shuō)服我們轉(zhuǎn)向PHP,因?yàn)槲覀円呀?jīng)投入了大量的時(shí)間和金錢在這些必需的商業(yè)軟件工具上。
INTERNET程序和LINUX
我有一個(gè)夢(mèng)想,我希望在將來(lái)每一個(gè)程序都是一個(gè)INTERNET程序。不用再需要購(gòu)買軟件包,不要再去安裝它,它們能在INTERNET上得到,并且已經(jīng)是安裝好的,我們只要在瀏覽器中運(yùn)行程序,這不會(huì)需要太多的配置。
大部分的網(wǎng)絡(luò)應(yīng)用程序都運(yùn)行在LINUX和PHP上。它們通常不使用ASP,有一種軟件叫Chilisoft ASP,它能在LINUX上運(yùn)行ASP,但它是要錢的,同時(shí)它也不支持最新版的ASP,更重要的是創(chuàng)建高性能ASP站點(diǎn)所用的好的第三方DLL都不能運(yùn)行在LINUX上。
于是,為了實(shí)現(xiàn)我們的INTERNET軟件夢(mèng)想,我們決定尋找一種更好的,接近于ASP的技術(shù)來(lái)替代它!
ISAPI的支持
ZEND團(tuán)隊(duì)正在開發(fā)的PHP核心引擎中就包括一個(gè)ISAPI引擎。
ISAPI是一種MICROSOFT的INTERNET WEBSERVER API,它的應(yīng)用,使我們這些習(xí)慣于在WINDOWS下開發(fā)程序的程序員有了一條通向LINUX的捷徑。
技術(shù)分析
每個(gè)人都聲稱自己的產(chǎn)品最快,這不是我真正關(guān)心的---我只關(guān)心“足夠快”,對(duì)我來(lái)說(shuō),PHP足夠快!
ASP支持多種程序語(yǔ)言。這種體系使得程序天生就帶有慢和多內(nèi)存占用,它的每一種語(yǔ)言解析就相當(dāng)于一個(gè)PHP編譯,(就是說(shuō),當(dāng)ASP開始解析一條代碼時(shí),它相當(dāng)于同時(shí)開動(dòng)多個(gè)PHP),當(dāng)ASP解析到一個(gè)ASP開始標(biāo)記(<%)時(shí),它需要跳出HTML解析進(jìn)程而去選擇另一個(gè)適當(dāng)?shù)慕馕鲞M(jìn)程,當(dāng)它解析到一個(gè)ASP結(jié)束標(biāo)記時(shí),它又得退回到HTML解析進(jìn)程。
同時(shí),ZEND打算發(fā)布一個(gè)可以保護(hù)我們?cè)创a的編譯器,以及各種不同的優(yōu)化技術(shù)(Zend Cache and Optimizer),甚至于實(shí)現(xiàn)PHP在WINDOWS下的良好應(yīng)用,無(wú)疑,PHP在這一方面又將強(qiáng)于ASP!
一個(gè)使用PHP的商業(yè)決定
相對(duì)于PHP來(lái)說(shuō),這里有許多其它的開放源碼選擇,比如說(shuō)perl,python/zope and jsp/tomact。對(duì)我來(lái)說(shuō),PHP最接近于ASP,同時(shí)也易于轉(zhuǎn)換!
Perl: 一種不適用于大項(xiàng)目的語(yǔ)言.
Python/Zope:一種很好的語(yǔ)言,但它的體系不如PHP那般的接近ASP.
JSP/Tomcat: 我認(rèn)為,比起腳本語(yǔ)言來(lái),type-safe, type-bound, type-checking Java 不太好操作!
代碼
我們注意到,我們用PHP開發(fā)的代碼比用ASP開發(fā)的要短,這是因?yàn)椋赑HP中HTTP GET和POST變量自動(dòng)創(chuàng)建為全局變量,這樣我們就不要再花費(fèi)太多的時(shí)間去分析ASP REQUEST對(duì)象了。
同時(shí)PHP的include()函數(shù)非常好,我們能有條件的include代碼,以使我們的代碼盡量精簡(jiǎn),更加易懂!
PHP有著相似于ASP的COOKIE和SESSION管理功能。
結(jié)論:
我現(xiàn)在還在使用PHP,在所有的地方使用“$”這個(gè)符號(hào),它是非??岬模瑫r(shí)它也是我最喜歡的一個(gè)符號(hào)?。海?
相關(guān)文章
無(wú)數(shù)據(jù)庫(kù)的詳細(xì)域名查詢程序PHP版(3)
無(wú)數(shù)據(jù)庫(kù)的詳細(xì)域名查詢程序PHP版(3)...2006-10-10php結(jié)合表單實(shí)現(xiàn)一些簡(jiǎn)單功能的例子
這兩天學(xué)了寫表單。總結(jié)于此,以備忘。2011-06-06簡(jiǎn)單易用的計(jì)數(shù)器(數(shù)據(jù)庫(kù))
簡(jiǎn)單易用的計(jì)數(shù)器(數(shù)據(jù)庫(kù))...2006-10-10NT IIS下用ODBC連接數(shù)據(jù)庫(kù)
NT IIS下用ODBC連接數(shù)據(jù)庫(kù)...2006-10-10php學(xué)習(xí)筆記(三)操作符與控制結(jié)構(gòu)
好久沒更新了,這段時(shí)間挺忙的。下面繼續(xù)php學(xué)習(xí) 之 操作符與控制結(jié)構(gòu);2011-08-08