欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php之深入理解架構(gòu)布局講解

 更新時(shí)間:2021年08月04日 09:57:31   作者:代碼界吳彥祖  
這篇文章主要介紹了php之深入理解架構(gòu)布局講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

本文基于《PHP 內(nèi)核剖析》與 《PHP7底層設(shè)計(jì)與源碼實(shí)現(xiàn)》所記筆記。
對(duì)PHP內(nèi)核的深入理解有助于我們對(duì)PHP的整體認(rèn)識(shí),對(duì)于業(yè)務(wù)層初期發(fā)展我們可以只了解基本語(yǔ)言的邏輯就可以寫出符合業(yè)務(wù)的代碼,但是隨著業(yè)務(wù)的發(fā)展我們通過分析源碼,編寫擴(kuò)展,深入了解PHP內(nèi)部機(jī)制,幫助我們理解PHP內(nèi)部實(shí)現(xiàn)邏輯,更好助力業(yè)務(wù)發(fā)展.

執(zhí)行流程

從上圖中看出主要從解析PHPCode到執(zhí)行主要經(jīng)過了四個(gè)階段.

獲取token可以通過Token_get_all('<?php echo "str";>')函數(shù)獲取token信息.

抽象語(yǔ)法樹主要將解釋器和編譯器進(jìn)行解耦.

opcodes最終執(zhí)行的指令,例如ZEND_ECHO:本質(zhì)還是一個(gè)對(duì)應(yīng)的C函數(shù).

架構(gòu)結(jié)構(gòu)

PHP架構(gòu)圖

Zend層為上層的PHP層提供一些基礎(chǔ)的內(nèi)存管理以及數(shù)據(jù)結(jié)構(gòu)等.

SAPI層為最上層和Server進(jìn)行通信,封裝了不同的通信類型,cgi,fast-cgi,cli等.

目錄結(jié)構(gòu)

sapi

存放根據(jù)不同環(huán)境支持的上層API交互形式,實(shí)現(xiàn)了不同的輸入輸出形式.

Zend

存放PHP相關(guān)的核心代碼,如前所述內(nèi)存管理等.

main

負(fù)責(zé)與Zend層交互的入口,還有一些鉤子函數(shù).

ext

主要是擴(kuò)展相關(guān)的目錄.通過ext_skel命令生成自定的模塊.會(huì)默認(rèn)安裝到這個(gè)目錄.

TSRM

線程資源管理相關(guān)的目錄,一般只有和Apache結(jié)合使用時(shí)會(huì)涉及到線程資源管理相關(guān)的代碼.
與Nginx相關(guān)的一般只會(huì)用到FastCGI協(xié)議不涉及到TSRM模塊.

到此這篇關(guān)于php之深入理解架構(gòu)布局講解的文章就介紹到這了,更多相關(guān)php之深入理解架構(gòu)布局內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論