国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Zend Engine & PHP

GraphQuery / 1386人閱讀

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

Zend Engine

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

Why Zend Engine ?

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

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

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

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

Zend Engine 功能

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

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

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

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

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

內(nèi)存管理

詳細過程如下圖所示:

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

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

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

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

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

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

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

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

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

tests:PHP的測試腳本集合。

scripts:Linux 下的腳本目錄。

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

PHP 核心

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

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

對于上層的服務(wù)器來說,它們對 PHP 的調(diào)用就可以通過 SAPI 來進行,實現(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://m.specialneedsforspecialkids.com/yun/20797.html

相關(guān)文章

  • Zend引擎

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

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

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

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

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

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

    摘要:項目是什么是對的接口使用的最新標準進行而面向?qū)ο蟮姆庋b,從而屏蔽了底層的接口復(fù)雜性,加快開發(fā)擴展的效率。國內(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ā)布流程,針對主流平臺進行測試,提供相應(yīng)的二進制包等等。 因為時間有限,開發(fā)在每天的上午6點到9點,晚上9點到12點以及周末,所以項目周期可能比正常的要長一點,我的計劃如下: 7月到8月完成對 zend engine 的一些核心數(shù)據(jù)庫的封裝 這個階段主要針對 zend engine 一些常用的數(shù)據(jù)接口做一些面向?qū)?..

    nevermind 評論0 收藏0

發(fā)表評論

0條評論

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