四虎国产精品永久地址998_chinesexxx少妇露脸_日本丁香久久综合国产精品_一区二区久久久久_四虎av影视_久久久久国产一区二区三区不卡

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 軟件研發 > PHP8有哪些新特性?

PHP8有哪些新特性?

2020-07-08 17:30:58 | 來源:中培企業IT培訓網

PHP代表“超文本預處理器”,是在服務器端執行的腳本語言,類似于C語言,是一種常用的網站編程語言。隨著時間的發展,PHP不斷更新迭代。再過幾個月,PHP8將于2020年11月26日發布。作為一個全新的升級版本,PHP8進行了許多重大調整和更改。相信每個人都迫不及待地想了解PHP8有哪些新特性?本文總結了幾點PHP8新功能的亮點!

  1、JIT進入PHP8

JIT就是Just-In-Time的縮寫,中文翻譯為即時編譯。它作為一種編譯器策略,將代碼表述為一種中間狀態,在運行時將其轉換為依賴于體系結構的機器碼,并即時執行。在 PHP 中,這意味著 JIT 將為 Zend VM 生成的指令視為中間表述,并以依賴于體系結構的機器碼執行,也就是說托管代碼的不再是 Zend VM,而是更為底層的 CPU。為什么要讓JIT進入PHP8呢?因為JIT從底層開始優化PHP的性能,突破了PHP性能優化的瓶頸。

  2、PHP8支持Union Types

Union Types,中文翻譯為聯合類型。它支持接收多個不同類型的值,它是兩種或多種類型的集合,使用時可以選擇其一。如今不僅僅是PHP,許多其他的開源生態的標準庫中,都在廣泛的使用聯合類型。而PHP8支持Union Types,將會允許將更多類型信息從 phpdoc 遷移至函數簽名。我們可以看到,繼泛型之后,聯合類型是目前類型聲明系統中最大的突破口。

  3、PHP8中支持static返回類型

雖然PHP已經可以返回self了,但是考慮到PHP具有動態類型的性質,PHP8的新特性增加了static返回類型,對于許多開發者來說,是相當使用的調整和改變了。

class Foo

{

public function test(): static

{

return new static();

}

}

  4、增加注解

這里的Attributes也就是其它語言中的annotations(注解),它提供了一種向類添加元數據的方法,不需要解析文檔塊。

  5、PHP8引入了弱引用

WeakMaps 允許創建從對象到任意值的映射(類似 SplObjectStorage),而不會阻止對用作 key 的對象進行垃圾回收。只要將對象添加到 WeakMap 中,GC 在觸發條件時就可以將其占用內存回收。

class Foo

{

private WeakMap $cache;

public function getSomethingWithCaching(object $obj): object

{

return $this->cache[$obj]

??= $this->computeSomethingExpensive($obj);

}

}

以上就是關于PHP8有哪些新特性的總結,大家對此次的PHP8新版本有什么看法呢?想了解更多關于PHP的信息,請繼續關注中培偉業。

標簽: PHP8 軟件研發
主站蜘蛛池模板: 万全县| 麻阳| 贵州省| 张家界市| 色达县| 绵竹市| 宁远县| 公主岭市| 北安市| 华容县| 湟中县| 蒲城县| 清原| 江川县| 新绛县| 云龙县| 开化县| 保靖县| 平利县| 鞍山市| 抚州市| 商丘市| 五莲县| 台安县| 凤庆县| 松溪县| 青铜峡市| 长治县| 开鲁县| 正定县| 聂拉木县| 鄂州市| 法库县| 邯郸市| 天台县| 繁峙县| 宁夏| 九龙坡区| 隆尧县| 凭祥市| 汤阴县|