首頁  >  文章  >  後端開發  >  php底層是什麼語言

php底層是什麼語言

(*-*)浩
(*-*)浩原創
2019-07-31 16:50:155186瀏覽

php底層是C語言,故如果想研究底層程式碼需要掌握C言語相關知識。

php底層是什麼語言

PHP本身是用C實現的,因此最終呼叫的也都是C的函數,實際上,可以把PHP看成是一個C開發的軟體。 (推薦學習:PHP影片教學

php的zend引擎,包括詞法分析,文法分析,AST 等需要掌握編譯原理的知識。

Zend引擎:純C實現,是PHP的核心部分,它將PHP程式碼翻譯(詞法、語法解析等一系列編譯過程)為可執行opcode的處理並實現相應的處理方法、實現了基本的資料結構(如hashtable、oo)、記憶體分配及管理、提供了相應的api方法供外部調用,是一切的核心,所有的外圍功能均圍繞著Zend實現。

Extensions:圍繞著Zend引擎,extensions透過元件式的方式提供各種基礎服務。我們常見的各種內建函數(如array 系列)、標準函式庫等都是透過extension來實現。

Sapi :全名為Server Application Programming Interface服務端應用程式接口,Sapi透過一系列鉤子函數,使得PHP可以和外圍交互數據,這是PHP非常優雅且成功的一個設計,透過sapi成功的將PHP本身和上層應用解耦隔離,PHP可以不再考慮如何針對不同應用進行相容,而應用程式本身也可以針對自己的特點實現不同的處理方式。

常見的一些sapi有: 

apache2handler:這是以apache作為webserver,採用mod_PHP模式運作時候的處理方式,也是現在應用最廣泛的一種。

cgi:這是webserver和PHP直接的另一種互動方式,也就是大名鼎鼎的fastcgi協議,在最近今年fastcgi PHP得到越來越多的應用,也是異步webserver所唯一支持的方式。

cli:命令列呼叫的應用模式上層應用:這就是我們平時編寫的P​​HP程序,透過不同的sapi方式得到各種各樣的應用模式,如透過webserver實現web應用、在命令列下以腳本方式運行等。

上層應用:這就是我們平時編寫的P​​HP程序,透過不同的sapi方式得到各種各樣的應用模式,如透過webserver實現web應用程式、在命令列下以腳本方式運行等。

更多PHP相關技術文章,請造訪PHP圖文教學欄位進行學習!

以上是php底層是什麼語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn