本篇文章跟大家介紹一下PHP架構佈局。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
執行流程
從上圖看出主要從解析PHPCode到執行主要經過了四個階段。
取得token可以透過Token_get_all('<?php echo "str";>')
函數取得token資訊.
抽象語法樹主要將解釋器和編譯器進行解耦.
opcodes最終執行的指令,例如ZEND_ECHO:本質還是一個對應的C函數.
Zend層為上層的PHP層提供一些基礎的記憶體管理以及資料結構等.
SAPI層為最上層和Server進行通訊,封裝了不同的通訊類型, cgi,fast-cgi,cli等.
#存放根據不同環境支援的上層API互動形式,實現了不同的輸入輸出形式.
存放PHP相關的核心程式碼,如前所述記憶體管理等.
負責與Zend層互動的入口,還有一些鉤子函數.
主要是擴展相關的目錄.透過ext_skel
指令產生自定的模組.會預設安裝到這個目錄.
線程資源管理相關的目錄,一般只有和Apache結合使用時會涉及到線程資源管理相關的程式碼.
與Nginx相關的一般只會用到FastCGI協定不涉及到TSRM模組.
推薦學習:php影片教學
以上是如何理解PHP架構佈局的詳細內容。更多資訊請關注PHP中文網其他相關文章!