網站首頁 美容 美體 服飾 情感 娛樂 生活
當前位置:哇咔範 > 生活 > 經驗

php底層原理 php是如何運行的

欄目: 經驗 / 發佈於: / 人氣:9.56K
php底層原理 php是如何運行的

1、PHP動態語言執行過程:拿到一段代碼後,經過詞法解析、語法解析等階段後,源程序會被翻譯成一個個指令(opcodes),然後ZEND虛擬機順次執行這些指令完成操作。PHP本身是用C實現的,因此最終調用的也是C的函數,實際上,我們可以把PHP看做一個C開發的軟件。

2、PHP的4層運行體系:

(1)Zend引擎:Zend整體用純C實現,是PHP的內核部分,他將PHP代碼翻譯(詞法、語法解析等一系列編譯過程)為可執行opcode的處理並實現相應的處理方法、實現了基本的數據結構(如:hashtable、OO)、內存分配機制及管理、提供了相應的api方法供外部調用,是一切的核心,所有的外圍功能均圍繞Zend實現。

(2)Extensions:圍繞着Zend引擎,extensions通過組件式的方式提供各種基礎服務,我們常見的各種內置函數(array系列)、標準庫等都是通過extension來實現,用户也可以根據需要實現自己的extension的典型應用)。

(3)Sapi:Sapi全稱ServerApplicationProgrammingInterface,也就是服務端應用編程接口,Sapi通過一系列鈎子函數,使得PHP可以和外圍交互數據,這是PHP非常優雅和成功的設計,通過sapi成功的將PHP本身和上層應用解耦隔離,PHP可以不再考慮如何針對不同應用進行兼容,而應用本身也可以針對自己的特點實現不同的處理方式。

(4)上層應用:這就是我們平時編寫的PHP程序,通過不同的spai方式得到各種各樣的應用模式,如何通過webserver實現web應用、在命令行下已腳本方式運行等等。

Tags:php 底層 運行