php底層簡介(一)

applocation
        應用層:這就是我們平時編寫的PHP程序
sapi
        服務器端接口:它就是PHP與其它應用交互的接口,PHP腳本要執行有很多種方式,
                            通過Web服務器,或者直接在命令行下,也可以嵌入在其他程序中。
                            SAPI提供了一個和外部通信的接口,常見的SAPI有:cgi 、fast-cgi、cli、isapi、apache 模塊的 DLL
extensions
        php擴展:圍繞着Zend引擎,extensions通過組件式的方式提供各種基礎服務,
                    我們常見的各種內置函數(如array系列)、標準庫等都是通過extension來實現,
                    用戶也可以根據需要實現自己的extension以達到功能擴展、性能優化等目的
                    (如貼吧正在使用的PHP中間層、富文本解析就是extension的典型應用)。
zend:
        zend引擎:Zend整體用純C實現,是PHP的內核部分,它將PHP代碼翻譯(詞法、語法解析等一系列編譯過程)
                    爲可執行opcode的處理並實現相應的處理方法、實現了基本的數據結構(如hashtable、oo)、
                    內存分配及管理、提供了相應的api方法供外部調用,是一切的核心,所有的外圍功能均圍繞Zend實現。


    應用層的php代碼 調用  php擴展(mysql、mysqli、array 等函數) 通過  sapi接口鏈接zend引擎  進行編譯
    打個比喻:一輛在道路上高速行駛的汽車  
                     汽車殼子是:應用層php代碼
                     汽車配件防護輪胎是:php擴展
                     道路是:sapi接口

                     發動機是:zend引擎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章