電子商務(wù)發(fā)展迅速的今天,網(wǎng)站建設(shè)已經(jīng)成為每個(gè)企業(yè)不可或缺的要求。建網(wǎng)站,做營(yíng)銷已經(jīng)成為很多企業(yè)發(fā)展的主要方向。動(dòng)態(tài)網(wǎng)站相對(duì)來(lái)說(shuō)更易獲得用戶的親睞。人們習(xí)慣于使用PHP做靜態(tài)網(wǎng)站。那么,人們常用PHP技術(shù),在動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)中的優(yōu)勢(shì)又有哪些呢?
動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)PIP概述
互聯(lián)網(wǎng)已經(jīng)成為人們生活中不可缺少的一部分,各種網(wǎng)站的出現(xiàn)尤其是動(dòng)態(tài)網(wǎng)站的產(chǎn)生更是在潛移默化之中改變著人們的生活方式。動(dòng)態(tài)網(wǎng)站可以實(shí)現(xiàn)交互功能,讓人們真正的融入到互聯(lián)網(wǎng)之中,通過(guò)動(dòng)態(tài)網(wǎng)站,現(xiàn)實(shí)生活中的許多活動(dòng)都可以在網(wǎng)上完成。動(dòng)態(tài)網(wǎng)站的功能之所以強(qiáng)大,關(guān)鍵在于它所運(yùn)用的腳本程序,而這些腳本程序大部分是由ASP、JSP和PHP語(yǔ)言所編寫的。為動(dòng)態(tài)網(wǎng)站的運(yùn)行提供了強(qiáng)大的支持。PHP(超級(jí)文本預(yù)處理語(yǔ)言)是一種開(kāi)源的動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)語(yǔ)言。最初是1994年Rasmus Lerdoff創(chuàng)建的.剛開(kāi)始只是一個(gè)簡(jiǎn)單的用Perl語(yǔ)言編寫的程序,用來(lái)統(tǒng)計(jì)個(gè)人網(wǎng)站的訪問(wèn)量。以后越來(lái)越多的網(wǎng)站使用了PHP,并且強(qiáng)烈要求擴(kuò)充PHP的新特性,逐步發(fā)展為今天功能強(qiáng)大的用于開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站的PHP語(yǔ)言。
PHP與ASP、JSP比較分析
ASP、JSP、PHP雖然都是動(dòng)態(tài)網(wǎng)站的開(kāi)發(fā)技術(shù),但它們之間在理論基礎(chǔ)與開(kāi)發(fā)實(shí)踐上都存在著巨大的差別。接下來(lái)我們就對(duì)這三種語(yǔ)言進(jìn)行比較.找出PHP與ASP、JSP在技術(shù)上以及運(yùn)行性能上的差異。
網(wǎng)絡(luò)運(yùn)行性能
由于JSP服務(wù)器都帶有Java即時(shí)編譯器,這種編譯器對(duì)JAVA程序進(jìn)行編譯后會(huì)生成相當(dāng)精簡(jiǎn)的原生型指令碼。這種指令碼執(zhí)行速度是非常塊的,所以,JSP的執(zhí)行比每次都要解釋執(zhí)行的ASP和PHP代碼要快。尤其是在代碼中存在循環(huán)操作時(shí)。由于JSP編譯一次后就不需要霞復(fù)編譯,所以JSP的速度要快1到2個(gè)數(shù)量級(jí)。
因此.PHP在性能上與JSP相差甚遠(yuǎn)。進(jìn)一步提高PHP的性能.這也是PHP在發(fā)展中備受關(guān)注的問(wèn)題。來(lái)自PHPChina在2009年發(fā)布的統(tǒng)計(jì)數(shù)據(jù)顯示,72.9%的PHP從業(yè)者表示其最關(guān)注性能問(wèn)題(如圖1).希望PHP的性能在將來(lái)會(huì)有進(jìn)一步的提升。
開(kāi)發(fā)運(yùn)行平臺(tái)
眾所周知微軟的許多產(chǎn)品都不具有跨平臺(tái)性。ASP同樣也繼承了這一特點(diǎn)。因此ASP開(kāi)發(fā)的程序一般情況下只能運(yùn)行于微軟的服務(wù)器產(chǎn)品之上。在Un遠(yuǎn)等其它服務(wù)器上:運(yùn)行就比較困難。
JSP得到了Apache的支持.而Apache町以在多種操作系統(tǒng)上運(yùn)行,因此,JSP才能應(yīng)用在Windows、Unix和Linux等諸多操作系統(tǒng)上。并且作為Java家族的一員,JSP具有“一次編寫,隨處町用”的特性,這一特性的存在讓JSP在各種運(yùn)行平臺(tái)上的移植比其它動(dòng)態(tài)語(yǔ)言更加方便。所以,JSP支持的運(yùn)行平臺(tái)廣泛,且具有良好的跨平臺(tái)性。
和JSP類似,PHP也有良好的跨平臺(tái)性,非常容易進(jìn)行移植。PHP能夠得到ⅡS和Apache等WEB服務(wù)器的支持.因此它也廣泛的運(yùn)行在Windows、Unix、Linux等各種系統(tǒng)上。在跨平臺(tái)性上,PHP要優(yōu)于ASP;但在可移植性上,PHP就不如JSP“一次編寫.隨處可用”的功能強(qiáng)大。PHP支持的平臺(tái)廣泛,但開(kāi)發(fā)人員在進(jìn)行網(wǎng)站開(kāi)發(fā)和部署時(shí),根據(jù)PHP的特點(diǎn)以及開(kāi)發(fā)人員個(gè)人的偏好.對(duì)開(kāi)發(fā)平臺(tái)的選擇也是有傾向的。根據(jù)調(diào)查,當(dāng)前大多數(shù)開(kāi)發(fā)人員使用“nux+Apache+MysQL平臺(tái)進(jìn)行PHP程序的開(kāi)發(fā)。在這一平臺(tái)中。
由于操作系統(tǒng)Hnux、WEB服務(wù)器軟件Apache和數(shù)據(jù)庫(kù)MySQL都是開(kāi)源的,與PHP開(kāi)源的特性很好的結(jié)合,在研究與運(yùn)行時(shí)并不受太多的限制.因此廣受人們歡迎。
實(shí)際應(yīng)用比例
在動(dòng)態(tài)網(wǎng)站發(fā)展的初期,由于ASP具有比較完善的發(fā)展體系和強(qiáng)大的軟硬件支持。所以大多數(shù)網(wǎng)站開(kāi)發(fā)者偏向用ASP進(jìn)行網(wǎng)站開(kāi)發(fā)。但隨著PHP體系的不斷完善.人們發(fā)現(xiàn)這種開(kāi)源的語(yǔ)言學(xué)習(xí)起來(lái)更容易,而且進(jìn)一步開(kāi)發(fā)也不會(huì)受到過(guò)多的限制。于是人們把目光逐漸轉(zhuǎn)移到了PHP的應(yīng)用上,因此。近幾年來(lái)使用PHP開(kāi)發(fā)的網(wǎng)站數(shù)鍍逐漸增加并超過(guò)ASP網(wǎng)站的數(shù)量。目前JSP技術(shù)在國(guó)內(nèi)的應(yīng)用并不十分廣泛,但由于其具有強(qiáng)大的功能和特殊的屬性,它的發(fā)展前途也是不可限量的。
根據(jù)調(diào)查。PHP從業(yè)者選擇使用PHP的因素主要是“語(yǔ)言簡(jiǎn)單容易上手”、“可獲得大量開(kāi)源代碼”和“PHP是免費(fèi)的”三個(gè)方面。“語(yǔ)言簡(jiǎn)單”說(shuō)明PHP的學(xué)習(xí)比較容易,在這一點(diǎn)上pHP要比JSP優(yōu)越得多;“可獲得源代碼”和“PHP的免費(fèi)”都是得意于PHP開(kāi)源的特性,在這一方面上PHP耍遠(yuǎn)優(yōu)于ASP。
開(kāi)發(fā)過(guò)程比較(開(kāi)發(fā)語(yǔ)言及工具)
ASP在程序開(kāi)發(fā)時(shí)主要使用VBs和JS腳本語(yǔ)言進(jìn)行編寫,這些腳本語(yǔ)青簡(jiǎn)單易懂,為開(kāi)發(fā)人員帶來(lái)很大方便。ASP網(wǎng)站的開(kāi)發(fā)可以用微軟的Dreamweaver,它集成了文本編輯、數(shù)據(jù)庫(kù)連接、頁(yè)面預(yù)覽等功能,并提供了大量向?qū)Ч╅_(kāi)發(fā)人員使用,使ASP網(wǎng)站的開(kāi)發(fā)更加容易。
JSP使用JAVA語(yǔ)言作為腳本語(yǔ)言,JAVA語(yǔ)言功能強(qiáng)大、易于擴(kuò)充,在可執(zhí)行性上要遠(yuǎn)優(yōu)于VBS和JS。由于使用JAVA語(yǔ)言作為自己的腳本語(yǔ)言,JSP在性能和安全性上都要優(yōu)于ASP和PHP。JSP由于支持的廠商很多.因此適合的開(kāi)發(fā)工具也比較多。
如Bofland JBuilder和IBM VisualAge?for?Java都適合開(kāi)發(fā)JSP程序,但是無(wú)論使用哪種工具進(jìn)行開(kāi)發(fā),JSP都要比ASP復(fù)雜得多。
大量的借用了C、JAVA和Perl語(yǔ)言的語(yǔ)法,綜合了C、JAVA和Perl語(yǔ)言的精華,并結(jié)合自己的特性,使動(dòng)態(tài)網(wǎng)站的開(kāi)發(fā)更加方便、快捷。作為一種開(kāi)源的腳本語(yǔ)言.PHP在確保易學(xué)易用的基礎(chǔ)上,能夠提供各種強(qiáng)大的功能,隨著人們不斷的開(kāi),PHP的功能必然也會(huì)更加完善。同樣得意于開(kāi)源的特性,由于研究的人比較多,PHP的開(kāi)發(fā)工具也很多。但是當(dāng)前大多數(shù)PHP從業(yè)者在調(diào)試PHP程序時(shí)使用的是Zend Studio。由于zend Studio并不如微軟的Dreamweaver人性化,所以PHP的開(kāi)發(fā)并不比ASP容易。
安全性
在安全性上,ASP應(yīng)該是最差的,由于大多數(shù)ASP程序要借助IlS,PHP應(yīng)用最需要關(guān)注的問(wèn)題才能運(yùn)行,而IIS本身就存在著漏洞,是黑客們攻擊的主要目標(biāo),歷史上就有許多ASP網(wǎng)站的源代碼被下載,嚴(yán)重威脅到了ASP網(wǎng)站的安全。相比之下,JSP和PHP的安全性要高許多。JSp在執(zhí)行前要編譯成字節(jié)碼,再由JAVA虛擬機(jī)執(zhí)行,源碼相對(duì)不易被下載,尤其在用了JavaBean之后,安全性更高。PHP運(yùn)行在Apache上,Apache開(kāi)放源代碼一般不存在系統(tǒng)漏洞,擁有很好的安全性。PHP已經(jīng)在許多商業(yè)和非商業(yè)領(lǐng)域使用,并沒(méi)有聽(tīng)說(shuō)有什么安全問(wèn)題。
數(shù)據(jù)庫(kù)連接
目前,ASP常用的數(shù)據(jù)庫(kù)有ACCESS和SQL。一般的虛擬主機(jī)用戶或者是小站點(diǎn)用戶都使用ACCESS作為自己的站點(diǎn)數(shù)據(jù)庫(kù)。
主要是因?yàn)樗姆奖阈裕淮笮偷恼军c(diǎn)一般都用SQL,因?yàn)樗陌踩韵鄬?duì)較好。ASP連接數(shù)據(jù)庫(kù)時(shí)。一般是使用ODBC通過(guò)ADO連接數(shù)據(jù)庫(kù),連接方式比較單一。
在訪問(wèn)數(shù)據(jù)庫(kù)時(shí)要通過(guò)JDBC來(lái)實(shí)現(xiàn)i通過(guò)JDBC與數(shù)據(jù)庫(kù)相連,可以執(zhí)行查詢、提取數(shù)據(jù)等操作。如果一個(gè)數(shù)據(jù)庫(kù)不存在JDBC只有ODBC,JSP也可以進(jìn)行訪問(wèn),只不過(guò)要通過(guò)JAVA提供一個(gè)JDBC—ODBC橋,將JDBC的調(diào)用轉(zhuǎn)為ODBC的調(diào)用.通過(guò)這種方式,JSP可以訪問(wèn)更多的數(shù)據(jù)庫(kù),如Oracle、svbase、SQLServer和Access等數(shù)據(jù)摩。
PHP有十分強(qiáng)大的數(shù)據(jù)庫(kù)操作功能,可直接連接多種數(shù)據(jù)庫(kù),在這一點(diǎn)上PHP要優(yōu)于ASP和JSP。但是目前應(yīng)用最廣泛的是PHP與MySQL的組合。PHP連接數(shù)據(jù)庫(kù)存在一個(gè)弱點(diǎn),即PHP提供的數(shù)據(jù)庫(kù)接口支持彼此不統(tǒng)一,比如對(duì)Oracle。MySQL,Sybas的接口,彼此都不一樣,這在多數(shù)據(jù)庫(kù)調(diào)用時(shí)會(huì)出現(xiàn)一定的困難。
以上六個(gè)方面是PHP與ASP、JSP相對(duì)比較重要的差異。
發(fā)展前景展望
通過(guò)多次開(kāi)發(fā)實(shí)踐,我們發(fā)現(xiàn)PHP確實(shí)是一個(gè)操作簡(jiǎn)單、功能強(qiáng)大的動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)語(yǔ)言,用PHP開(kāi)發(fā)的網(wǎng)站,開(kāi)發(fā)過(guò)程簡(jiǎn)單,用戶維護(hù)方便,而且具有很好的安全性。正式得意于這峰特性。PHP自出現(xiàn)以來(lái),就得到了廣泛的應(yīng)用和迅速的發(fā)展。在國(guó)內(nèi)PHP的發(fā)展也非常迅速,百度、新浪、搜狐、TOM等等各大互聯(lián)網(wǎng)門戶都在廣泛使用PHP,越來(lái)越多的小門戶網(wǎng)站也加入到PHP的行列。
今后的發(fā)展?jié)摿薮螅嗟哪贻p人對(duì)PHP產(chǎn)生了濃厚的興趣。
根據(jù)PHPChina在2009年調(diào)查的數(shù)據(jù)顯示,在PHP愛(ài)好者中。學(xué)生所占的比例達(dá)到r加.4%。而這些學(xué)生必將會(huì)成為PHP技術(shù)不斷發(fā)展的源動(dòng)力。在技術(shù)發(fā)展上PHP也具有獨(dú)特的優(yōu)勢(shì).由于PHP是開(kāi)放語(yǔ)言.可以不斷地吸收和采納所有使用者的建議和想法,從而不斷地推出新的功能以滿足用戶新的需求,這在要求互聯(lián)網(wǎng)個(gè)性化和交互式發(fā)展的形勢(shì)下,PHP具有無(wú)法超越的優(yōu)勢(shì)。PHP技術(shù)更新?lián)Q代快,目前PHP5已經(jīng)被廣泛應(yīng)用。對(duì)PHP6的設(shè)想也已經(jīng)全面展開(kāi)。與最初的版本相比,PHP5的性能提高了幾十倍,PHP的語(yǔ)言規(guī)范和相關(guān)的軟硬件技術(shù)也在不斷完善。
雖然應(yīng)用前景巨大,但PHP技術(shù)也有自身的缺陷。目前社會(huì)普遍關(guān)注的缺陷主要包括三個(gè)方面:首先,PHP缺乏規(guī)模支持;其次。PHP缺乏多層結(jié)構(gòu)支持;第三,PHP數(shù)據(jù)庫(kù)接口支持不統(tǒng)一。正是由于這些缺餡的存在使得PHP不適合應(yīng)用于大型電子商務(wù)網(wǎng)站,而更適合一些小型的商業(yè)網(wǎng)站。
要繼續(xù)發(fā)展必須進(jìn)一步加以完善,解決自身在理論與技術(shù)上的不足。
一個(gè)好的網(wǎng)站,凝聚了很多開(kāi)發(fā)者的心血。從前期規(guī)劃,建站,優(yōu)化,推廣等方面,都需要投入很多精力。PHP作為開(kāi)源代碼,是建站的首選。通過(guò)上面的介紹,可以看出在某些方面PHP網(wǎng)站開(kāi)發(fā)的優(yōu)勢(shì)還是很明顯的。我們只有充分的了解每種語(yǔ)言的優(yōu)勢(shì),結(jié)合自身發(fā)展的方向,網(wǎng)站的目標(biāo),從實(shí)際出發(fā),才能得到好的回報(bào)。
掃一掃 加微信咨詢