明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

3種Web開(kāi)發(fā)主流技術(shù)的評(píng)價(jià)之PHP

[摘要]三種Web開(kāi)發(fā)主流技術(shù)的評(píng)價(jià)之PHP--------------------------------------------------------------------------------http://tech.sina.com.cn 2000/04/13 21:45 新浪科技  PHP:...
三種Web開(kāi)發(fā)主流技術(shù)的評(píng)價(jià)之PHP

--------------------------------------------------------------------------------
http://tech.sina.com.cn 2000/04/13 21:45 新浪科技
  PHP:Personal HomePage

  PHP是一個(gè)什么原因出現(xiàn)的呢?它是一個(gè)技術(shù)人員希望能用一個(gè)快速的方面來(lái)完成他自己的個(gè)人主頁(yè)中的一個(gè)小應(yīng)用。而在他一發(fā)不可收時(shí)出現(xiàn)了php,它使一個(gè)人能在多種操作系統(tǒng)下迅速的完成一個(gè)輕型的Web應(yīng)用。所以在短短的幾年里,php迅速的升級(jí)了它的版本,同時(shí)在GNU的世界里找到了一個(gè)青梅竹馬的伙伴----Apache。這終于讓php有了基礎(chǔ),能在一個(gè)最佳的環(huán)境中運(yùn)行,同時(shí)由于兩個(gè)產(chǎn)品都是公開(kāi)源代碼的產(chǎn)品,所以大家可以使用它們的源代碼將這兩個(gè)產(chǎn)品用最完美的方式結(jié)合到一起,使用起來(lái)就如一個(gè)產(chǎn)品一樣。個(gè)人認(rèn)為php是自由軟件在web應(yīng)用平臺(tái)上一個(gè)決勝的工具,如果沒(méi)有php的出現(xiàn),還會(huì)有許多人認(rèn)為自由軟件就代表了對(duì)開(kāi)發(fā)人員的高技術(shù)要求、難記的代碼、復(fù)雜的工具.....php使一個(gè)會(huì)使用basic的人員在極短的時(shí)間里快迅學(xué)習(xí)并完成用戶(hù)需要的應(yīng)用。

  怎么說(shuō)php呢?如果說(shuō)ASP是一個(gè)COM,哪么php說(shuō)的更精確了可以說(shuō)php是一個(gè)純粹的Script翻譯器。這也是php由3升級(jí)為4的一個(gè)重大原因,在4這個(gè)版本里它重寫(xiě)了語(yǔ)法分析器,從而加快了php整體的效能。而且從中你也就會(huì)明白為什么php需要支持這種或是那種擴(kuò)充功能時(shí)它一定要與相應(yīng)系統(tǒng)的lib庫(kù)進(jìn)行再編繹的原因。正因?yàn)樗钦诘摹胺g器”,所以它是將script翻譯成為需要執(zhí)行的函數(shù),再去執(zhí)行它們,外部擴(kuò)充不能由一些“動(dòng)態(tài)加載”的方式進(jìn)行,所以只能靜態(tài)的編繹進(jìn)php中(這只能在windows中除外)。

  強(qiáng)勢(shì):

  1、一種能快速學(xué)習(xí)、跨平臺(tái)、有良好數(shù)據(jù)庫(kù)交互能力的開(kāi)發(fā)語(yǔ)言。ASP比不上它的就是這種跨平臺(tái)能力了,而正是它的這種能力讓Unix/Linux有了一種與ASP媲美的開(kāi)發(fā)語(yǔ)言。語(yǔ)法簡(jiǎn)單、書(shū)寫(xiě)容易、現(xiàn)在市面上也有了大量的書(shū),同時(shí)Internet上也有大量的代碼可以共享,對(duì)于一個(gè)初學(xué)者想學(xué)些“高深的Unix”下的開(kāi)發(fā)來(lái)說(shuō)是一個(gè)決好的入手點(diǎn)。

  2、與Apache及其它擴(kuò)展庫(kù)結(jié)合緊密。php與Apache可以以靜態(tài)編繹的方式結(jié)合起來(lái),而與其它的擴(kuò)展庫(kù)也可以用這樣的方式結(jié)合(除外的就是Windows平臺(tái)了)。這樣的方式的最大的好處就是最大化的利用了cpu時(shí)和內(nèi)存,同時(shí)極為有效的利用了apache的高性能的吞吐能力。同時(shí)外部的擴(kuò)展也是靜態(tài)連編,從而達(dá)到了最快的運(yùn)行速度。由于與數(shù)據(jù)庫(kù)的接口也使用了這樣的方式,所以使用的是本地化的調(diào)用,這也讓數(shù)據(jù)庫(kù)發(fā)揮了最佳效能。

  3、良好的安全性。由于php本身的代碼開(kāi)放所以它的代碼在許多工程師手中進(jìn)行了檢測(cè),同時(shí)它與apache編繹在一起的方式也可以讓它具有靈活的安全設(shè)定。所以到現(xiàn)在為止,php具有了公認(rèn)的安全性能。

  弱勢(shì):

  1、數(shù)據(jù)庫(kù)支持的極大變化。由于php的所有的擴(kuò)展接口都是獨(dú)立團(tuán)隊(duì)開(kāi)發(fā)完成的,同時(shí)在開(kāi)發(fā)時(shí)為了形成相應(yīng)數(shù)據(jù)的個(gè)性化操作,所以php雖然支持許多數(shù)據(jù)庫(kù),可是針對(duì)每種數(shù)據(jù)庫(kù)的開(kāi)發(fā)語(yǔ)言都完全不同。這樣形成針對(duì)一種數(shù)據(jù)庫(kù)的工發(fā)工作,在數(shù)據(jù)庫(kù)進(jìn)行升級(jí)后需要開(kāi)發(fā)人員進(jìn)行幾乎全部的代碼更改工作。而為了讓?xiě)?yīng)用支持更多種的數(shù)據(jù)庫(kù),就需要開(kāi)發(fā)人員將同樣的數(shù)據(jù)庫(kù)操作使用不同的代碼寫(xiě)出n種代碼庫(kù)出來(lái),讓程序員的工作量大大增大。

  2、安裝復(fù)雜。由于php的每一種擴(kuò)充模塊并不是完全由php本身來(lái)完成,需要許多外部的應(yīng)用庫(kù),如圖形需要gd庫(kù)、LDAP需要LDAP庫(kù).……這樣在安裝完成相應(yīng)的應(yīng)用后,再聯(lián)編進(jìn)php中來(lái)。這也就是我以前在代碼聯(lián)盟新聞組中對(duì)網(wǎng)友所說(shuō)的一定要在FreeBSD/Linux/Unix下運(yùn)行php的原因。只有在這些環(huán)境下才能方便的編繹對(duì)應(yīng)的擴(kuò)展庫(kù)。這些都是一般開(kāi)發(fā)人員在使用php前所先要面對(duì)的問(wèn)題,正是這樣的問(wèn)題讓許多開(kāi)發(fā)人員轉(zhuǎn)而使用其它的開(kāi)發(fā)語(yǔ)言,必竟Unix沒(méi)有那么多的用戶(hù)。

  3、缺少企業(yè)級(jí)的支持。沒(méi)有組件的支持,哪么所有的擴(kuò)充就只能依靠php開(kāi)發(fā)組所給出的接口,事實(shí)上這樣的接口還不夠多。同時(shí)難以將集群、應(yīng)用服務(wù)器這樣的特性加入到系統(tǒng)中去。而一個(gè)大型的站點(diǎn)或是一個(gè)企業(yè)級(jí)的應(yīng)用一定需要這樣的支持的。注:在php的4.0版本以后加入了對(duì)servlet/javabean的支持,也許這樣的支持會(huì)在以后的版本中更加增強(qiáng),也許這樣的支持會(huì)是php以后的企業(yè)級(jí)支持的起點(diǎn)。

  4、缺少正規(guī)的商業(yè)支持。這也是自由軟件一向的缺點(diǎn),我想在國(guó)內(nèi)php的開(kāi)發(fā)人員正在快速增加,相信在不久的將來(lái),這樣的支持能多起來(lái)。

  5、無(wú)法實(shí)現(xiàn)商品化應(yīng)用的開(kāi)發(fā)。由于php沒(méi)有任何編繹性的開(kāi)發(fā)工作,所有的開(kāi)發(fā)都是基于腳本技術(shù)來(lái)完成的。所以所有的源代碼都無(wú)法編譯,所以做完成的應(yīng)用只能是自己或是內(nèi)部使用,無(wú)法實(shí)現(xiàn)商品化。

  總結(jié):

  適用人群:熟悉Unix環(huán)境,需要在最少的投入下完成快速的應(yīng)用開(kāi)發(fā)。

  適用平臺(tái):FreeBSD/Linux/Unix操作系統(tǒng)、Apache服務(wù)器適用應(yīng)用:Internet高訪(fǎng)問(wèn)量、快速數(shù)據(jù)庫(kù)開(kāi)發(fā)的應(yīng)用。

  學(xué)習(xí)方式:Internet上國(guó)內(nèi)豐富的資源Internet上豐富的源代碼資源,完全可以參考這樣的例程來(lái)完成自己的應(yīng)用。市場(chǎng)上最近出版的好幾本php手冊(cè)。

  推薦開(kāi)發(fā)工具:Home Site/PHPEd

  推薦開(kāi)發(fā)環(huán)境:FreeBSD 4.1/RedHat 6.1操作系統(tǒng)/Apache 1.3.12/MySQL 3.22/P 200/64M RAM/9G HD

  推薦應(yīng)用環(huán)境(最少):FreeBSD 3.5/MySQL 3.22/Apache 1.3.12/P 200/128M RAM/9G HD

  推薦應(yīng)用環(huán)境(最佳):FreeBSD 3.5/Sybase 11/Apache 1.3.12/P III 500/512M RAM/18G HD