首頁 >後端開發 >PHP問題 >php有虛擬機器嗎

php有虛擬機器嗎

(*-*)浩
(*-*)浩原創
2019-10-15 14:45:223613瀏覽

php有虛擬機器嗎

PHP虛擬機

虛擬機也是計算機,參考物理機的設計,設計虛擬機時,首先應該考慮三個要素:指令,資料存儲,函數棧幀;

指令  (推薦學習:PHP視訊教學

指令由操作碼和操作數組成;操作碼指明本指令的操作類型,操作數指明操作數本身或操作數的位址;

資料儲存

PHP虛擬機支援多種資料類型:整數、浮點型、字串、數組,物件等;

函數棧幀

PHP虛擬機實作了與實體機類似的函數棧幀結構;

使用_zend_vm_stack表示堆疊結構;多個堆疊之間使用prev欄位形成單向鍊錶;top和end指向堆疊低和堆疊頂,分別為zval類型的指標;

總結

PHP虛擬機也是計算機,有三點是我們需要重點關注的:指令集(包含指令處理函數)、資料儲存(zval)、函數棧幀;

此時虛擬機已可以接受指令並執行指令碼;

但是,PHP虛擬機是專用執行PHP程式碼的,PHP程式碼如何轉換為PHP虛擬機可以辨識的指令呢-編譯;

PHP虛擬機同時提供了編譯器,可以將PHP程式碼轉換為其可以辨識的指令集合;

理論上你可以自訂任何語言,只要實作編譯器,能夠將自己的語言轉換成PHP可以辨識的指令碼,就能被PHP虛擬機器執行;

以上是php有虛擬機器嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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