日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP內(nèi)核探索 —— Zend引擎:Zend引擎是PHP實(shí)現(xiàn)的核心

瀏覽:31日期:2022-09-16 11:22:29

相信很多人都聽(tīng)說(shuō)過(guò) Zend Engine 這個(gè)名詞,也有很多人知道 Zend Engine 就是 PHP 語(yǔ)言的核心,但若要問(wèn)一句:Zend Engine 到底存在于何處?或者說(shuō),Zend Engine 究竟是在什么時(shí)候怎么發(fā)揮作用讓 PHP 源碼輸出我們想要的東西的?

Zend引擎是PHP實(shí)現(xiàn)的核心,提供了語(yǔ)言實(shí)現(xiàn)上的基礎(chǔ)設(shè)施。例如:PHP的語(yǔ)法實(shí)現(xiàn),腳本的編譯運(yùn)行環(huán)境, 擴(kuò)展機(jī)制以及內(nèi)存管理等,當(dāng)然這里的PHP指的是官方的PHP實(shí)現(xiàn)(除了官方的實(shí)現(xiàn), 目前比較知名的有facebook的hiphop實(shí)現(xiàn),不過(guò)到目前為止,PHP還沒(méi)有一個(gè)標(biāo)準(zhǔn)的語(yǔ)言規(guī)范),而PHP則提供了請(qǐng)求處理和其他Web服務(wù)器的接口(SAPI)。

要理解 Zend Engine 的作用,就不能不理解為什么會(huì)出現(xiàn),PHP 為什么需要 Zend Engine, Zend Engine 的出現(xiàn)為 PHP 解決了什么問(wèn)題。PHP 發(fā)展到 3.0 版本的時(shí)候,此時(shí) PHP 已經(jīng)很普及了。“在 PHP3 的頂峰,Internet 上 10% 的 web 服務(wù)器上都安裝了它”,PHP Manual 如是說(shuō)。廣泛的應(yīng)用必然帶來(lái)更高的要求。但此時(shí)的 PHP3 卻有些力不從心了,這主要是因?yàn)?PHP3 采用的是邊解釋邊執(zhí)行的運(yùn)行方式,運(yùn)行效率很受其影響。其次,代碼整體耦合度比較高,可擴(kuò)展性也不夠好,不利于應(yīng)付各種各樣需求。因此,此時(shí)在 PHP 界里已經(jīng)有點(diǎn)中流砥柱作用的 Zeev Suraski 和 Andi Gutmans 決定重寫(xiě)代碼以解決這兩個(gè)問(wèn)題。最終他們倆把該項(xiàng)技術(shù)的核心引擎命名為 Zend Engine,Zend 的意思即為 Zeev + Andi 。

Zend Engine 最主要的特性就是把 PHP 的邊解釋邊執(zhí)行的運(yùn)行方式改為先進(jìn)行預(yù)編譯(Compile),然后再執(zhí)行(Execute)。這兩者的分開(kāi)給 PHP 帶來(lái)了革命性的變化:執(zhí)行效率大幅提高;由于實(shí)行了功能分離,降低了模塊間耦合度,可擴(kuò)展性也大大增強(qiáng)。此時(shí) PHP 已經(jīng)能很方便的應(yīng)付各種各樣的 BT 需求了,而伴隨 PHP 4.4.x ―可能是 PHP4 系列的最后一個(gè)分支―的發(fā)布,PHP 的大部分開(kāi)發(fā)人員已經(jīng)將注意力放在了 PHP5 或者 PHP6 上面,以后發(fā)布的基本上就是一些 Bug Fix Release。可以說(shuō)第一代的 Zend Engine 是已經(jīng)在站最后一班崗了。

2004 年 7 月,PHP 5 發(fā)布,支持 PHP5 的是 Zend Engine 2.0 版本。這個(gè)版本主要是對(duì) PHP 的 OO 功能進(jìn)行了改進(jìn)(我沒(méi)有提集成 SQLite、PDO 等特性是因?yàn)槲覀儸F(xiàn)在談的主要是 Zend Engine 而非 PHP)。核心執(zhí)行方式(非 OO 部分)較PHP4 的1.0 版本變動(dòng)不大,所以 PHP5 純粹的執(zhí)行速度相對(duì)于 PHP4 沒(méi)有大的提高。而預(yù)計(jì)將于本月中旬發(fā)布的 PHP 5.1 版本則會(huì)攜帶 Zend Engine 2.1 版本,這個(gè)版本將提供新的執(zhí)行方式,執(zhí)行速度也會(huì)快上許多,至少要比 PHP5.0 相對(duì)于 PHP4.x 的差別要大很多,所以,PHP 5.1 將會(huì)是一個(gè)很了很令人期待的版本。

但并非 PHP5 系列的 Zend Engine 2 就完美無(wú)缺了。前面已經(jīng)提到過(guò),Zend Engine 將代碼分成編譯和執(zhí)行兩大部分。一般情況下,我們的代碼完成以后就很少再去改變了。但執(zhí)行時(shí) PHP 卻不得不還得一次又一次的重復(fù)編譯,這根本就是毫無(wú)必要的。而且通常情況下,編譯的所花費(fèi)的時(shí)間并不比執(zhí)行少多少,說(shuō)是五五開(kāi)并不為過(guò),因此這極大的浪費(fèi)了機(jī)器的 CPU。基于 Zend Engine 3.0 的 PHP6 將試圖解決這個(gè)問(wèn)題。除此之外,目前的 PHP 對(duì)多字節(jié)的字符處理也是 PHP 的一大致命缺陷。這在人們聯(lián)系日益國(guó)際化的今天幾乎是不可忍受的。而無(wú)數(shù)人在抨擊 PHP 或 比較 ASP 等同類(lèi)語(yǔ)言時(shí)總是不可避免的要提到這一點(diǎn)。同時(shí)受到 IBM 方面的壓力,PHP6 也將會(huì)把對(duì)多字節(jié)字符的處理提到首要日程。這在 PHP6 的 Dev 版本中已經(jīng)得到體現(xiàn)。

目前PHP的實(shí)現(xiàn)和Zend引擎之間的關(guān)系非常緊密,甚至有些過(guò)于緊密了,例如很多PHP擴(kuò)展都是使用的Zend API, 而Zend正是PHP語(yǔ)言本身的實(shí)現(xiàn),PHP只是使用Zend這個(gè)內(nèi)核來(lái)構(gòu)建PHP語(yǔ)言的,而PHP擴(kuò)展大都使用Zend API, 這就導(dǎo)致PHP的很多擴(kuò)展和Zend引擎耦合在一起了,后來(lái)才有PHP核心開(kāi)發(fā)者就提出將這種耦合解開(kāi)的建議。

目前PHP的受歡迎程度是毋庸置疑的,但凡流行的語(yǔ)言通常都會(huì)出現(xiàn)這個(gè)語(yǔ)言的其他實(shí)現(xiàn)版本, 這在Java社區(qū)里就非常明顯,目前已經(jīng)有非常多基于JVM的語(yǔ)言了,例如IBM的Project Zero就實(shí)現(xiàn)了一個(gè)基于JVM的PHP實(shí)現(xiàn), .NET也有類(lèi)似的實(shí)現(xiàn),通常他們這樣做的原因無(wú)非是因?yàn)椋核麄兿矚g這個(gè)語(yǔ)言,但又不想放棄原有的平臺(tái), 或者對(duì)現(xiàn)有的語(yǔ)言實(shí)現(xiàn)不滿意,處于性能或者語(yǔ)言特性等(HipHop就是這樣誕生的)。

很多腳本語(yǔ)言中都會(huì)有語(yǔ)言擴(kuò)展機(jī)制,PHP中的擴(kuò)展通常是通過(guò)Pear庫(kù)或者原生擴(kuò)展,在Ruby中則這兩者的界限不是很明顯, 他們甚至?xí)峁﹥商讓?shí)現(xiàn),一個(gè)主要用于在無(wú)法編譯的環(huán)境下使用,而在合適的環(huán)境則使用C實(shí)現(xiàn)的原生擴(kuò)展, 這樣在效率和可移植性上都可以保證。目前這些為PHP編寫(xiě)的擴(kuò)展通常都無(wú)法在其他的PHP實(shí)現(xiàn)中實(shí)現(xiàn)重用, HipHop的做法是對(duì)最為流行的擴(kuò)展進(jìn)行重寫(xiě)。如果PHP擴(kuò)展能和ZendAPI解耦,則在其他語(yǔ)言中重用這些擴(kuò)展也將更加容易了。

標(biāo)簽: PHP
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品xxx在线观看| 色偷偷偷在线视频播放| 蜜桃国内精品久久久久软件9| 国产网站在线| 中文在线а√天堂| 天堂av在线| 国产一区二区三区四区二区| 欧美黑人做爰爽爽爽| 久久影院资源站| 国产一区二区三区成人欧美日韩在线观看| 久久午夜影院| 麻豆成全视频免费观看在线看| 国产精品99一区二区三| 中文字幕在线官网| 久久久噜噜噜| 五月天久久网站| 久久国产精品99国产| 亚洲ww精品| 国产精品亚洲二区| 国产69精品久久| 亚洲一级网站| 好看的av在线不卡观看| 国产一级久久| 日韩国产在线观看| 麻豆国产91在线播放| 国产一区二区三区亚洲| 亚洲精品一区三区三区在线观看| 婷婷综合网站| 日韩欧美美女在线观看| 麻豆国产欧美日韩综合精品二区| 亚洲精品成人图区| 女人天堂亚洲aⅴ在线观看| 蜜桃视频第一区免费观看| 国产免费av一区二区三区| 成人高清一区| 亚洲深夜福利| 日韩欧美中文字幕在线视频| 国产精品一区二区精品视频观看| 98精品视频| 久久福利一区| 欧美成人精品一级| 亚洲午夜精品久久久久久app| 中文一区一区三区免费在线观| 国产亚洲字幕| 蜜桃av.网站在线观看| 首页亚洲欧美制服丝腿| 欧美激情99| 影音国产精品| 麻豆成人91精品二区三区| 国产精品99免费看| 国产伦精品一区二区三区视频 | 亚洲日韩中文字幕一区| 久久影院一区二区三区| 一区免费视频| 免费在线亚洲欧美| 日韩午夜免费| 精品国产欧美日韩| 日韩影院精彩在线| 成人台湾亚洲精品一区二区| 亚洲一区免费| 四季av一区二区凹凸精品| 亚洲性视频在线| bbw在线视频| 日韩高清一区| 亚洲精品.com| 久久激五月天综合精品| 国精品一区二区三区| 久久国内精品| 国产精品美女| 91欧美在线| 欧美日韩一区二区国产| 激情五月色综合国产精品| 国产情侣久久| 亚洲一区不卡| 国产一二在线播放| 欧美久久久网站| 一区在线免费观看| 91欧美在线| 国产剧情在线观看一区| 国产国产精品| 精品高清久久| 日韩毛片网站| 亚洲欧洲一区二区天堂久久| 成人国产精品一区二区免费麻豆| 无码日韩精品一区二区免费| 国产一区日韩一区| 欧美国产偷国产精品三区| 国产欧美日韩一区二区三区四区| 国产亚洲午夜| 亚洲二区视频| 亚洲欧洲美洲av| 麻豆精品久久| 欧美精品国产一区| 视频一区二区国产| 日韩欧美网址| 久久亚洲国产精品尤物| 清纯唯美亚洲综合一区| 亚洲欧美日韩精品一区二区| 日本免费一区二区三区四区| 精品一级视频| 国产精品777777在线播放| 日韩欧美久久| 四虎国产精品免费久久| 亚洲在线一区| 伊人成人在线视频| 在线看片不卡| 亚洲大片在线| 日韩精品午夜| av资源亚洲| 四虎成人av| 国产自产自拍视频在线观看| 久久精品国产亚洲一区二区三区| 国产伦精品一区二区三区在线播放 | 久久中文视频| 亚洲爱爱视频| 久久久久久久久99精品大| av在线最新| 国产精选在线| 久久99高清| 成人在线视频免费看| 麻豆精品av| 日韩av在线中文字幕| 福利精品一区| 婷婷综合六月| 色综合www| 久久久国产亚洲精品| 麻豆精品蜜桃| 欧美理论视频| 免费久久99精品国产自在现线| 欧美日韩国产亚洲一区| 欧美大黑bbbbbbbbb在线| 成人av二区| 亚洲一区欧美二区| 丝袜a∨在线一区二区三区不卡| 久久国产精品久久w女人spa| 视频一区二区中文字幕| 香蕉久久久久久| 国产剧情一区| 麻豆理论在线观看| 美女网站一区| 综合激情视频| 91精品日本| 精品国产麻豆| 久久裸体视频| 日韩亚洲在线| 亚洲欧美在线综合| 国产精品久久久久9999高清 | 国产欧美日韩免费观看| 久久99免费视频| 色在线中文字幕| 夜夜嗨av一区二区三区网站四季av| 鲁大师影院一区二区三区| 日本国产一区| 国产成人1区| 亚洲欧美日韩高清在线| 视频一区免费在线观看| 日本欧美大码aⅴ在线播放| 国产福利资源一区| 久久久国产亚洲精品| 免费视频一区二区| 久久成人福利| 99精品小视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产欧美日韩亚洲一区二区三区| 精品一区av| 偷拍欧美精品| 国产精品一区二区99| 日韩欧美一区二区三区在线观看| 性一交一乱一区二区洋洋av| 国产欧美日韩精品一区二区三区| 日韩欧美看国产| 四虎精品一区二区免费| 四虎国产精品免费观看| 久久亚洲欧洲| 麻豆国产精品777777在线| 激情五月综合| 欧美国产视频| 午夜国产一区二区| 91亚洲无吗| 欧美成人基地| 奇米777国产一区国产二区| 国产va免费精品观看精品视频| 亚洲一区欧美激情| 美女国产一区二区三区| 黄色免费成人| 久久伊人国产| 日韩制服丝袜先锋影音| 精品日本视频| 免费成人在线视频观看| 超碰在线99| 7777精品| 国产一区视频在线观看免费| 日本久久一区| 蜜臀久久99精品久久一区二区| 91亚洲无吗| 婷婷亚洲五月| 国产在视频一区二区三区吞精| 午夜在线视频一区二区区别| 97国产成人高清在线观看| 天堂俺去俺来也www久久婷婷|