在互連網路高速發展的今天,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的資料和網站