這篇文章主要介紹了PHP虛擬機是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯公司于2013年成立,先為興縣等服務建站,興縣等地企業(yè),進行企業(yè)商務咨詢服務。為興縣企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
PHP虛擬機
虛擬機也是計算機,參考物理機的設計,設計虛擬機時,首先應該考慮三個要素:指令,數據存儲,函數棧幀;
指令
指令由操作碼和操作數組成;操作碼指明本指令的操作類型,操作數指明操作數本身或者操作數的地址;
數據存儲
PHP虛擬機支持多種數據類型:整型、浮點型、字符串、數組,對象等;
函數棧幀
PHP虛擬機實現了與物理機類似的函數棧幀結構;
使用 _zend_vm_stack表示棧結構;多個棧之間使用prev字段形成單向鏈表;top和end指向棧低和棧頂,分別為zval類型的指針;
總結
PHP虛擬機也是計算機,有三點是我們需要重點關注的:指令集(包含指令處理函數)、數據存儲(zval)、函數棧幀;
此時虛擬機已可以接受指令并執(zhí)行指令代碼;
但是,PHP虛擬機是專用執(zhí)行PHP代碼的,PHP代碼如何能轉換為PHP虛擬機可以識別的指令呢——編譯;
PHP虛擬機同時提供了編譯器,可以將PHP代碼轉換為其可以識別的指令集合;
理論上你可以自定義任何語言,只要實現編譯器,能夠將你自己的語言轉換為PHP可以識別的指令代碼,就能被PHP虛擬機執(zhí)行;
感謝你能夠認真閱讀完這篇文章,希望小編分享PHP虛擬機是什么內容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯,關注創(chuàng)新互聯行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯,詳細的解決方法等著你來學習!