亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Zend Engine & PHP

GraphQuery / 1452人閱讀

摘要:作為語言的核心,存在于源碼目錄中的子目錄。年,和決定重寫代碼以解決這兩個問題。最終他倆把該項技術(shù)的核心引擎命名為,的意思即為。語法分析語法檢查。執(zhí)行引擎執(zhí)行這些。核心核心由兩部分組成和。

Zend Engine

作為 PHP 語言的核心, Zend Engine 存在于 PHP 源碼目錄中的 Zend 子目錄。

Why Zend Engine ?

PHP3 采用的是邊解釋、邊執(zhí)行的運(yùn)行方式,運(yùn)行效率很差。

代碼整體耦合度比較高,可擴(kuò)展性也不夠好。

1997年,Zeev SuraskiAndi Gutmans 決定重寫代碼以解決這兩個問題。

最終他倆把該項技術(shù)的核心引擎命名為 Zend Engine,Zend 的意思即為 Zeev + Andi。

Zend Engine 功能

先進(jìn)行預(yù)編譯( Compile ),然后再執(zhí)行( Execute )。

詞法分析(Lexer):將代碼切分為一個個的標(biāo)記Toekn。

語法分析(Parser):語法檢查。

生成操作碼(opcode):Zend 引擎對這些 Token 進(jìn)行編譯, 將代碼編譯為 opcode,并綁定相應(yīng)的參數(shù)、和函數(shù)調(diào)用。

執(zhí)行(execute):Zend 引擎執(zhí)行這些 opcode。

內(nèi)存管理

詳細(xì)過程如下圖所示:

PHP源碼目錄結(jié)構(gòu)

/    :主要包含一些說明文件以及設(shè)計方案。

Zend :Zend 引擎的實(shí)現(xiàn)目錄。包括詞法語法解析,OPCODE,提供語言運(yùn)行環(huán)境。

TSRM :線程安全資源管理器。

build:放置一些和源碼編譯相關(guān)的一些文件。

ext  :官方擴(kuò)展目錄。包括array系列,pdo系列,spl系列等函數(shù)的實(shí)現(xiàn)。

main :最為核心的文件,實(shí)現(xiàn)PHP的基本設(shè)施。

pear :PHP 擴(kuò)展與應(yīng)用倉庫。

sapi :各種服務(wù)器抽象層的代碼。例如apache的mod_php,cgi,fastcgi以及fpm等等接口。

tests:PHP的測試腳本集合。

scripts:Linux 下的腳本目錄。

win32:Windows平臺相關(guān)的一些實(shí)現(xiàn)。

PHP 核心

PHP 核心由兩部分組成:Zend EnginePHP Core

PHP Core 綁定了 SAPI 層,PHP 對與上層 "服務(wù)器" 的通信進(jìn)行了抽象,把所有的邏輯都抽象、封裝到了SAPI。

對于上層的服務(wù)器來說,它們對 PHP 的調(diào)用就可以通過 SAPI 來進(jìn)行,實(shí)現(xiàn)了"解耦和"

常見的調(diào)用 SAPI 方式有:

mod_php5PHP module for Apache。

CGIFork-And-Execute

Fastcgi:常駐 (Long-Live) 型的 CGI。

CLIPHP 命令行模式。

The Architecture of PHP

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/20797.html

相關(guān)文章

  • Zend引擎

    摘要:簡介引擎是開源的解釋語言的腳本引擎。有兩部分組成,即編譯器和執(zhí)行器。執(zhí)行代碼會經(jīng)過如下個步驟確切的來說,應(yīng)該是的語言引擎將代碼轉(zhuǎn)換為語言片段將轉(zhuǎn)換成簡單而有意義的表達(dá)式將表達(dá)式編譯成順次執(zhí)行,每次一條,從而實(shí)現(xiàn)腳本的功能。 簡介 The Zend Engine is the open source scripting engine that interprets the PHP pro...

    CODING 評論0 收藏0
  • polarphp:一個新的 PHP 語言運(yùn)行時環(huán)境

    摘要:項目介紹是一個全新的語言的運(yùn)行時環(huán)境,基于目前最新的進(jìn)行打造,支持最新的語言規(guī)范,同時提供了自己的運(yùn)行時標(biāo)準(zhǔn)庫。同樣也在的基礎(chǔ)上進(jìn)行打造,實(shí)現(xiàn)了一個除開發(fā)之外的一個全新的運(yùn)行環(huán)境。發(fā)布核心虛擬機(jī)的鏡像。整合運(yùn)行時框架。 showImg(https://segmentfault.com/img/bVbnQXK); polarphp 項目介紹 polarphp是一個全新的PHP語言的運(yùn)行時...

    宋華 評論0 收藏0
  • 360正式開源zendAPI 項目,讓 PHP 的擴(kuò)展開發(fā)成為一種享受

    摘要:從而讓的擴(kuò)展開發(fā)成為一種享受,不用在考慮不同版本帶來的差異性,讓開發(fā)者專注于自身的業(yè)務(wù)邏輯。怎么參與交流下面是我們項目的線上交流群和微信的二維碼,大家可以掃碼加入技術(shù)圈歡迎大家在這兩個平臺上與我們進(jìn)行互動特別感謝無線電安全研究部獨(dú)角獸團(tuán)隊 360開源項目介紹: 360開源官方github: https://github.com/qihoo360 今天給大家介紹一個360最新開源的產(chǎn)...

    DrizzleX 評論0 收藏0
  • zendAPI 項目簡介

    摘要:項目是什么是對的接口使用的最新標(biāo)準(zhǔn)進(jìn)行而面向?qū)ο蟮姆庋b,從而屏蔽了底層的接口復(fù)雜性,加快開發(fā)擴(kuò)展的效率。國內(nèi)同類型的項目推薦目前國內(nèi)有一個跟比較類似的項目,這個項目是項目作者開發(fā),值得推薦。項目名字項目的地址是大家有興趣可以研究。 項目Logo showImg(https://segmentfault.com/img/bVVtW8?w=716&h=218); zendAPI 是什么? ...

    Pluser 評論0 收藏0
  • zendAPI 項目開發(fā)計劃

    摘要:如果內(nèi)核這方面如果做得好的話,估計也沒有我們這個項目了。規(guī)范化版本號與版本發(fā)布流程,針對主流平臺進(jìn)行測試,提供相應(yīng)的二進(jìn)制包等等。 因?yàn)闀r間有限,開發(fā)在每天的上午6點(diǎn)到9點(diǎn),晚上9點(diǎn)到12點(diǎn)以及周末,所以項目周期可能比正常的要長一點(diǎn),我的計劃如下: 7月到8月完成對 zend engine 的一些核心數(shù)據(jù)庫的封裝 這個階段主要針對 zend engine 一些常用的數(shù)據(jù)接口做一些面向?qū)?..

    nevermind 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<