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

PHP4的核心:Zend (轉(zhuǎn)載自奧索)

[摘要]PHP4的核心:Zend臺(tái)灣彭武興先生寫的專題《PHP4的核心:Zend》。雖然是去年寫的,但覺得有助于對(duì)PHP/Zend有個(gè)概念上的認(rèn)識(shí)。所以翻譯出來。第一次知道,原來Zend引擎的名稱由Zeev Suraski和Andi Gutmans二位在PHP擔(dān)任核心開發(fā)工作的資深設(shè)計(jì)師的名字合體. 作者...
PHP4的核心:Zend

臺(tái)灣彭武興先生寫的專題《PHP4的核心:Zend》。雖然是去年寫的,但覺得有助于對(duì)PHP/Zend有個(gè)概念上的認(rèn)識(shí)。所以翻譯出來。第一次知道,原來Zend引擎的名稱由Zeev Suraski和Andi Gutmans二位在PHP擔(dān)任核心開發(fā)工作的資深設(shè)計(jì)師的名字合體.

作者:彭武興 介紹:他架設(shè)過臺(tái)灣文化大學(xué)華岡資訊網(wǎng),畢業(yè)后任職NEC擔(dān)任網(wǎng)管,及BIGLOBE的網(wǎng)管.并曾在網(wǎng)際空間雜志開過網(wǎng)際字解專欄,發(fā)表文章.在互聯(lián)網(wǎng)方面特別是有關(guān)WEB方面,有著深入的研究與實(shí)作經(jīng)驗(yàn).目前任職于訊達(dá)電腦負(fù)責(zé)網(wǎng)絡(luò)的相關(guān)工作.著有《PHP圣經(jīng)》。

一.概述:
Zend引擎的名稱由Zeev Suraski和Andi Gutmans二位在PHP擔(dān)任核心開發(fā)工作的資深設(shè)計(jì)師的名字合體.開發(fā)的目的師為了研發(fā)新的腳本執(zhí)行機(jī)制,而PHP4就是這套嶄新的Zend引擎的第一個(gè)實(shí)作產(chǎn)品。在一些特殊測(cè)試環(huán)境下,Zend(PHP$)的執(zhí)行速度比PHP3及ASP快了幾倍到幾百倍之多,這也意味著網(wǎng)站的后端CGI界面的統(tǒng)一者非PHP4?Zend莫屬了。(當(dāng)然,技術(shù)是不斷進(jìn)步的,說不定哪一天又出現(xiàn)了新的引擎。)

Zend引擎在研發(fā)二年多之后,已經(jīng)變成類似VBA功能的廣義程式環(huán)境,它不但有傳統(tǒng)的PHP函數(shù)功能,更增加了分散式物件(COM)的功能,并且能夠在不同的操作平臺(tái)上執(zhí)行。以這種潛力發(fā)展下去,VBA的終結(jié)者非Zend莫屬。

Zend在PHP4上實(shí)作時(shí)更針對(duì)了PHP3之前最大缺憾的session做了最完整的承諾,同時(shí)加入了一些未來的功能,如CyberCash...等等。

在opensource社群中,唯一能保持聲勢(shì),卻又尚未被微軟公司視為競(jìng)爭(zhēng)對(duì)手的,PHP/Zend是最好的例子。它已經(jīng)完全地將ASP丟到了身后,正往VBA的環(huán)境發(fā)展。而微軟只全力對(duì)付Linux,沒有注意到來自PHP/Zend的威脅。
系統(tǒng)圖示:

使用者的瀏覽器發(fā)出瀏覽請(qǐng)求,Web服務(wù)器接收請(qǐng)求。

Web服務(wù)器發(fā)覺是PHP的要求,需要PHP引擎解析(根據(jù)文件的擴(kuò)展名),于是將它送到PHP4的Zend引擎上。

Zend引擎將文件從硬盤上讀取,送到Zend線上編譯器(Run-time Compiler),進(jìn)行程序直譯工作。(或許日后的Zend Compiler出來以后可以省略線上編譯工作。)

Zend引擎的線上執(zhí)行單元(Excutor)執(zhí)行編譯過的PHP程序。并在需要時(shí)找相關(guān)的模組執(zhí)行協(xié)力動(dòng)作(如XML,IMAP,ODBC...等等)。

Zend將執(zhí)行后的結(jié)果整理成HTML文件,送給Web服務(wù)器。

Web服務(wù)器將結(jié)果通過網(wǎng)絡(luò),傳回使用者的瀏覽器。


目前的Zend產(chǎn)品有下列四種:

Zend Engine:Zend引擎 Zend引擎目前只做出PHP4一種產(chǎn)品,提供類似微軟的VBA及跨平臺(tái)的功能。而目前在網(wǎng)絡(luò)上的流行,也為Zend引擎作了最佳的見證。在Zend的四大產(chǎn)品中,這是目前唯一成熟的產(chǎn)品。

Zend Optimizer:Zend極限器 將PHP的核心重新調(diào)整,讓PHP程序執(zhí)行的效率更高。主要能加快PHP代碼的執(zhí)行速度及降低CPU的負(fù)擔(dān),將潛伏時(shí)間減少。

Zend Cache:Zend快取 將PHP程序快取到Web服務(wù)器的記憶體中,讓系統(tǒng)不用再一直從硬盤讀取PHP程序,可大幅度縮短系統(tǒng)的反應(yīng)時(shí)間,降低網(wǎng)絡(luò)的負(fù)荷。存在Cache的資料甚至可以不用再直譯過,減少處理的資源。

Zend Compiler:Zend編譯器 這恐怕是Zend的最終極武器,它可讓PHP的程序代碼經(jīng)過編譯后,以Zend中間碼(ZIC,Zend Intermediate Code)的形式存在。可以保護(hù)PHP的源代碼,不讓使用者看到,讓PHP的源代碼有安全保障。預(yù)料本產(chǎn)品出現(xiàn)之后,將對(duì)整個(gè)網(wǎng)絡(luò)產(chǎn)生不小的影響,PHP碼的物件庫,將會(huì)到處可見,軟件業(yè)也會(huì)提供相關(guān)的函數(shù)庫或物件庫給PHP編程者。屆時(shí),可能會(huì)有PHP大戰(zhàn)Java的情形。

原作者:Hitz