在互連網絡高速發展的今天,web的后臺開發已日益成為開發的焦點;激烈地商業競爭,也促使人們對web后臺程序有了更高的要求。本文將向您介紹一種新型的cgi程序編寫語言php3,它簡單易學,擁有眾多的優秀特性,可讓您方便快捷地編寫出功能強大,運行速度快,并可同時運行于windows,unix,linux平臺的web后臺程序,特別值得一提的是,任何人在遵守gnu條約的情況下,均可免費使用并更改其源碼!
現有web后臺程序,決大多數采用下列幾種技術編寫:perl,c通用cgi語言直接編寫(譯)cgi程序或利用web服務器自帶的api(如isapi,nsapi)或采用第三方解決方案(如asp,coldfushion),雖說每類方案都有各自的強項,但均不是理想的解決之道。
perl編寫cgi是使用最多的方法,在網絡上也有很多現成的腳本可以拿來修改使用,但它卻存在公認的性能問題:由于web服務器運行時需調用解釋程序解析代碼,當站點的訪問人數激增時,web服務器的性能也必將直線下降,另外則是它的數據庫連接功能非常弱,某些情況下甚至還會降低數據庫的存取速度;c編譯cgi和isapi,nsapi技術在速度上提升很大,一段時期被多數大型網站采用,但由于其本質原因(編寫復雜,數據庫功能弱及api只能用于特定web服務器等)一直未能大規模的使用;在此兩者的基礎上,第三方廠商提出了較好的解決方案:如microsoft的active server pages,allaire的coldfusion,它們都具有運行速度快,數據庫操作功能強大等特性,受到了許多開發者的歡迎,但它們只能單純的運行于個別平臺(nt),對要求更高回應率的網站來說(大多數大中型網站均建于unix或linux平臺,apache系列web服務器)還是不能順利采用(注:目前已有人提出這兩種技術在unix系列平臺上應用的方案,但要么是不具備源技術的全部優秀功能,要么就是只能應用于個別unix平臺)。
1997年,php開發小組在原php/fi 2.0的基礎上,開發出了全新的php3,并將其置于gnu的條約之下(和linux相同),免費讓所有人使用和(或)更改解釋器源代碼。相對于傳統的cgi語言,php3擁有下列超群的特性:
一. 易學易用:php3的語法結構大部分借用了c,java,perl的好的語法框架,有以上編程經驗的開發人員可快速的掌握投入實際使用。在php3的程序包中,有極其詳盡的安裝說明,任何人都可按照說明快速的配置好自己的web服務器,甚至可以在php3的站點上直接下載已經配置好php3模塊的web服務器。
讓我們列出幾段php3代碼:
1. function defaulthandler ($parser,$data)
{
if (substr($data,0,1)= = "&" && substr($data,-1,1)= = ";"
{printf ('<font color="#aa00aa">%s</font>',htmlspecialchars ($data));
}else
{printf ('<font size="-1">%s</font>',htmlspecialchars($data));
}}
1. class foo {
function do_foo () {
echo "doing foo .";
}}
$bar=new foo;
$bar->do_foo ();
1. function test () {
static $count=0;
$count++;
echo $count;}
怎么樣?看起來是不是很眼熟?
二. 運行速度快:php3采用html內置標記技術(類似當前流行的asp,后綴為php3),解釋程序本身作為web服務器的一個模塊運行,相當大的提高了運行時的解析速度(目前只支持apache webserver的模塊方式,按照php開發小組的計劃,以后將可把解釋程序作為web服務器的一個plug-in來運行),從頁面表單提交的數據自動成為程序中同表單名的變量,而無需手工賦值。經測試表明,在web站點訪問量非常大時,php3的解析速度相當于傳統cgi程序的4倍!非常適合大中型站點的應用。
三. 跨多個平臺:目前php3可在windows,unix,linux的web服務器上正常運行,支持iis,apache等通用web服務器,用戶更換平臺時,無需變換php3代碼,可即拿即用。
四. 極其強大的數據庫支持:php3直接為很多數據庫提供原本的連接,包括oracle,sybase,postgres,mysql,informix,dbase,solid,access等(通過sybase-ct驅動,更可高速的訪問microsoft sql server-------兩者協議是兼容的)完全支持odbc接口,這樣的話,凡是支持odbc接口的數據庫,php3都可提供有力的支持。而且這些數據庫的操作都是php3內部包括的,無需其它附件介入,實際應用中,可得到比任何后臺技術都要快的數據庫訪問性能。
五. 先進的擴展功能:php3不但內置了對文件上傳,密碼認證,cookies操作,郵件收發,動態gif生成等功能的支持,還極有遠見的提供了對gzip文件,pdf,xml的直接支持,用戶還可以編寫自己的擴展模塊(或從網上下載別人編寫的其它模塊,基庫)給將來的擴展提供了極大的空間。
六. 完全免費,支持:php3是遵守gnu條約的,任何人均可按條約免費使用并進行源碼改寫,使用者還可通過php3的站點,郵件列表等方式獲得支持,這里要提一下的是:網絡上已專門開設了php3的支持站點,代碼交換站點,相當多的支持者們也開發出了許多強大的基庫,讓人們隨意調用(在php3的權威站點上,有php3的詳盡使用手冊,faq等資料下載)
由于php3的眾多優秀功能,國外愈來愈多的站點已開始使用它來進行后臺的開發(截止99年4月已有60萬個站點使用開發)。國內一些有識之士也開始嘗試使用,獲得了非常好的效果,我們有理由相信,如此優秀的cgi語言,必將會大規模的擴散開去,成為我們開發有力的工具。
附:php3的一些網絡資源:
1. www.php.net
php開發小組的站點,上面對php3的方方面面有詳盡的介紹,并可下載php3的執行
文件,源碼,使用手冊,faq等。
2. px.sklar.com
專門用于進行php3代碼交換的站點,上面按分類列出了大量php3的源碼,內容極
豐富,有些不用修改就可直接應用。
3. www.phpbuilder.com
php3開發支持站,開發中的疑難解決,技巧,進展,郵件列表訂閱,都可在此找
到。
4. php.codebase.org/content/default/index.html
非常棒的資源站,不但有大量的源碼,技巧,還設有幾個論壇討論,一定要去看
!
5. phplib.shonline.de/
一個功能強大的php3基庫,在php3的開發中使用最廣。
6. php.netvision.net.il/examples/
有大量php3的代碼示例
8. www.magicw3.com.cn
國內較早采用php3的服務商,上面有一些php3的資料。
9. www.job.net.cn
中文站點,后臺程序全部用php3寫成。
另外,在各大搜索引擎上用php關鍵字查找,也會得到不少關于php3的資料和站點
新聞熱點
疑難解答