理解PHP底層原理(一)

Love Lenka發表於2020-02-11

PHP 三大模組的 理解:

1.PHP核心:其功能是用來處理 (請求,檔案流,錯誤)  等相關操作。

2.Zend引擎:將PHP檔案轉為機器語言,然後在虛擬機器上執行。

3.擴充套件層:函式、類庫、流。PHP可以載入擴充套件實現一些特定操作。

三者關係:

Zend執行程式時候需要連線若干擴充套件,

它將控制權交由擴充套件層,

等擴充套件層處理完畢,

將結果返還給Zend。

最終Zend將程式執行結果返回給PHP核心。

PHP核心再將結果傳給SAPI層。

最終輸出到瀏覽器。

PHP設計理念及特點:

多程式模型:由於PHP是多程式模型,不同請求間互不干涉,這樣保證了一個請求掛掉不會對全盤服務造成影響,當然,隨著時代發展,PHP也早已支援多執行緒模型。

弱型別語言:和C/C++、Java、C#等語言不同,PHP是一門弱型別語言。一個變數的型別並不是一開始就確定不變,執行中才會確定並可能發生隱式或顯式的型別轉換,這種機制的靈活性在web開發中非常方便、高效,具體會在後面PHP變數中詳述。

引擎(Zend)+元件(ext)的模式降低內部耦合。

中間層(sapi)隔絕web server和PHP。

語法簡單靈活,沒有太多規範。缺點導致風格混雜

 

相關文章