bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

PHP的架構及原理描述

記得我剛開始學習PHP的時候,許多面試官會經常問我PHP是什么,那時的標準回答是PHP是一種弱類型動態腳本編程語言,開源,免費,是超文本預處理器的縮寫。

創新互聯公司主要從事網頁設計、PC網站建設(電腦版網站建設)、wap網站建設(手機版網站建設)、自適應網站建設、程序開發、網站優化、微網站、微信小程序等,憑借多年來在互聯網的打拼,我們在互聯網網站建設行業積累了豐富的成都網站建設、做網站、網站設計、網絡營銷經驗,集策劃、開發、設計、營銷、管理等多方位專業化運作于一體。

這只是很淺的解釋,PHP對我來說是一個工具,是我手里的一把錘子,雖然這把錘子時常被調侃為兩邊都是起釘器的錘子。

1.PHP是什么

PHP即“超文本預處理器”,是一種通用開源腳本語言。PHP是在服務器端執行的腳本語言,與C語言類似,是常用的網站編程語言。PHP獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。利于學習,使用廣泛,主要適用于Web開發領域。

2.多進程模型

PHP是以多進程模型設計的,這樣的好處是請求之間互不干涉,一個請求失敗也不會對其他進程造成影響,作為最開始僅僅用于個人網站的一個工具集這樣的設計并沒有什么不妥,隨著PHP的應用變大,訪問量增加這種方式顯然是不合適的,因為啟動一個進程的開銷對于海量請求是不劃算的,所以現在PHP基本都是運行在PHP-FPM的管理下的,這是一個PHP進程管理器,它常駐內存啟動一些PHP進程待命,當請求進入時分配一個進程進行處理,PHP進程處理完畢后回收進程,但并不銷毀進程,這讓PHP也能應對高流量的訪問請求。

當然現在也有PHP多線程的解決方案和基于協程的解決方案讓PHP更高效的處理WEB請求。

3.弱類型

與 JAVA、C/C++ 不同,PHP是一門若類型的語言,變量在聲明的那一刻是不需要確定它的類型的,而在運行時類型也會發生顯式或隱式的類型改變,這也是PHP開發應用迅速、方便的原因之一。

PHP的架構及原理描述

4.其他

Zend 引擎 + Ext 擴展 的模式降低了內部耦合,可以方便的為PHP本身增加功能和去除功能。

語法簡單,沒有太多強制規范,編程風格上既可以用過程式、也可以用面向對象的方式進行開發,當然函數式也可以。

以目前的 PHP 主流版本 PHP7 和 PHP5 來說架構是如上圖所示,主要有四層體系構成,從下到上依次是 Zend 引擎、Extensions 擴展、SAPI 接口、上層應用。

5.Zend 引擎

Zend 引擎是 PHP4 以后加入 PHP 的,是對原有PHP解釋器的重寫,整體使用 C 語言進行開發,也就是說可以把PHP理解成用C寫的一個編程語言軟件,引擎的作用是將PHP代碼翻譯為一種叫opcode的中間語言,它類似于JAVA的ByteCode(字節碼)。

引擎對PHP代碼會執行四個步驟:

詞法分析 Scanning(Lexing),將 PHP 代碼轉換為語言片段(Tokens)。解析 Parsing, 將 Tokens 轉換成簡單而有意義的表達式。編譯 Compilation,將表達式編譯成Opcode。執行 Execution,順序執行Opcode,每次一條,以實現PHP代碼所表達的功能。

APC、Opchche 這些擴展可以將Opcode緩存以加速PHP應用的運行速度,使用它們就可以在請求再次來臨時省略前三步。

引擎也實現了基本的數據結構、內存分配及管理,提供了相應的API方法供外部調用。

6.Extensions 擴展

常見的內置函數、標準庫都是通過extension來實現的,這些叫做PHP的核心擴展,用戶也可以根據自己的要求安裝PHP的擴展。

7.SAPI

SAPI 是 Server Application Programming Interface 的縮寫,中文為服務端應用編程接口,它通過一系列鉤子函數使得PHP可以和外圍交換數據,SAPI 就是 PHP 和外部環境的代理器,它把外部環境抽象后,為內部的PHP提供一套固定的,統一的接口,使得 PHP 自身實現能夠不受錯綜復雜的外部環境影響,保持一定的獨立性。

通過 SAPI 的解耦,PHP 可以不再考慮如何針對不同應用進行兼容,而應用本身也可以針對自己的特點實現不同的處理方式。

8.上層應用

程序員編寫的PHP程序,無論是 Web 應用還是 Cli 方式運行的應用都是上層應用,PHP 程序員主要工作就是編寫它們。

總結

這些東西如果你學習過 android 開發理解起來顯然更容易,因為android的架構和PHP的這種架構看起來很相似。當你理解這些后你就會理解為什么PHP的創始人會說PHP開發其實是不需要框架的,因為PHP的設計本身就是一個類似框架的東西,如果用汽車比喻的話PHP本身就是就是車的骨架,Zend的是引擎,Ext是輪子,方向盤等車的組件,SAPI 就是路。

以上就是PHP的架構及原理描述的詳細內容,更多請關注創新互聯其它相關文章!

網站欄目:PHP的架構及原理描述
網頁路徑:http://vcdvsql.cn/article16/gghsgg.html

成都網站建設公司_創新互聯,為您提供網站維護域名注冊做網站網站策劃網站改版響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營