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。
語法簡單靈活,沒有太多規範。缺點導致風格混雜