电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

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

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

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

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

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

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

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

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

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

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 除尘布袋_液体过滤袋_针刺毡滤料-杭州辉龙过滤技术有限公司 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | 宁夏活性炭_防护活性炭_催化剂载体炭-宁夏恒辉活性炭有限公司 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 防火卷帘门价格-聊城一维工贸特级防火卷帘门厂家▲ | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 氟塑料磁力泵-不锈钢离心泵-耐腐蚀化工泵厂家「皖金泵阀」 | IHDW_TOSOKU_NEMICON_EHDW系列电子手轮,HC1系列电子手轮-上海莆林电子设备有限公司 | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 江门流水线|江门工作台|江门市伟涛行工业设备有限公司 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | AGV叉车|无人叉车|AGV智能叉车|AGV搬运车-江西丹巴赫机器人股份有限公司 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 长江船运_国内海运_内贸船运_大件海运|运输_船舶运输价格_钢材船运_内河运输_风电甲板船_游艇运输_航运货代电话_上海交航船运 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 |