国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php7中新特性的總結

2020-03-22 18:45:07
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于php7中新特性的總結,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

PHP7 從發布到現在已經有快三年的時間了,現在已經發展到 PHP7.2.9 版本了。它的發布給 PHP 帶來了很大的性能提升,這主要是得益于 PHP 對 Zend 引擎的深度優化,同時還降低了 PHP 對系統的資源占用。

主要的變化有以下幾點:

  • 抽象語法樹

在PHP之前的版本中,PHP代碼在語法解析階段直接生成了 ZendVM 指令,也就是在 zend_language_parser.y 中直接生成 opline 指令,這使得編譯器與執行器耦合在一起。

PHP7 中增加了抽象語法樹,首先是將PHP代碼解析生成抽象語法樹,然后將抽象語法樹編譯為 ZendVM 指令。抽象語法樹的加入使得 PHP 的編譯器與執行器很好地隔離開,編譯器不需要關心指令的生成規則,然后執行器根據自己的規則將抽象語法樹編譯為對應的指令,執行器同樣不需要關心該指令的語法規則是什么樣子的。

  • Native TLS

PHP7 中使用 Native TLS(線程局部存儲)來保存線程的資源池,簡單地講就是通過 __thread 標識一個html' target='_blank'>全局變量,這樣這個全局變量就是線程獨享的了,不同線程的修改不會相互影響。

  • 指定函數參數、返回值類型

PHP7中可以指定函數參數及返回值的類型。

  • zval 結構的變化

PHP7 將引用計數轉移到了具體的 value 中,這樣更合理。除此之外,zval 結構的大小也從 24byte 少到了 16byte,這是 PHP7 能夠降低系統資源占用的一個優化點所在。

  • 異常處理

PHP5.x 中很多操作會直接拋出 error 錯誤,PHP7 中將多數錯誤改為了異常拋出,這樣一來就可以通過 try catch 捕捉到。

  • HashTable 的變化

PHP7 中 HashTable 有非常大的變化,HashTable 結構的大小從 72byte 減小到了 56byte,同時,數組元素 Bucket 結構也從 72byte 減小到了 32byte。

  • 執行器

在 PHP7 中不再采用傳參的方式,而是將 execute_dataopline 通過寄存器來進行存儲,避免了傳參導致的頻繁出入棧操作,同時,寄存器相比內存的訪問速度更快。

  • 新的參數解析方式

PHP5.x 通過 zend_parse_parameters() 解析函數的參數,PHP7 提供了另外一種方式,同時保留了原來的方式,但是新的解析方式速度更快。

相關推薦:

PHP7 新特性 簡介

PHP7新特性介紹

以上就是php7中新特性的總結的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合作市| 三明市| 石台县| 图们市| 梨树县| 韶山市| 孙吴县| 绿春县| 专栏| 泾源县| 建湖县| 吉林市| 多伦县| 西城区| 白银市| 安新县| 杂多县| 凤庆县| 五华县| 正定县| 云安县| 翼城县| 黔西县| 星座| 合水县| 慈溪市| 潞城市| 辉县市| 嘉禾县| 大方县| 公安县| 五莲县| 池州市| 石景山区| 西吉县| 深州市| 柏乡县| 台东市| 原平市| 新民市| 茌平县|