十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
今天就跟大家聊聊有關(guān)PHP8有哪些新特性,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)公司公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元平壩做網(wǎng)站,已為上家服務(wù),為平壩各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
1、JIT進入PHP8
JIT就是Just-In-Time的縮寫,中文翻譯為即時編譯。它作為一種編譯器策略,將代碼表述為一種中間狀態(tài),在運行時將其轉(zhuǎn)換為依賴于體系結(jié)構(gòu)的機器碼,并即時執(zhí)行。在 PHP中,這意味著 JIT將為 Zend VM生成的指令視為中間表述,并以依賴于體系結(jié)構(gòu)的機器碼執(zhí)行,也就是說托管代碼的不再是 Zend VM,而是更為底層的 CPU。為什么要讓JIT進入PHP8呢?因為JIT從底層開始優(yōu)化PHP的性能,突破了PHP性能優(yōu)化的瓶頸。
2、PHP8支持Union Types
Union Types,中文翻譯為聯(lián)合類型。它支持接收多個不同類型的值,它是兩種或多種類型的集合,使用時可以選擇其一。如今不僅僅是PHP,許多其他的開源生態(tài)的標準庫中,都在廣泛的使用聯(lián)合類型。而PHP8支持Union Types,將會允許將更多類型信息從 phpdoc遷移至函數(shù)簽名。我們可以看到,繼泛型之后,聯(lián)合類型是目前類型聲明系統(tǒng)中最大的突破口。
3、PHP8中支持static返回類型
雖然PHP已經(jīng)可以返回self了,但是考慮到PHP具有動態(tài)類型的性質(zhì),PHP8的新特性增加了static返回類型,對于許多開發(fā)者來說,是相當使用的調(diào)整和改變了。
class Foo
{
public function test(): static
{
return new static();
}
}
4、增加注解
這里的Attributes也就是其它語言中的annotations(注解),它提供了一種向類添加元數(shù)據(jù)的方法,不需要解析文檔塊。
5、PHP8引入了弱引用
WeakMaps允許創(chuàng)建從對象到任意值的映射(類似 SplObjectStorage),而不會阻止對用作 key的對象進行垃圾回收。只要將對象添加到 WeakMap中,GC在觸發(fā)條件時就可以將其占用內(nèi)存回收。
class Foo
{
private WeakMap $cache;
public function getSomethingWithCaching(object $obj): object
{
return $this->cache[$obj]
??= $this->computeSomethingExpensive($obj);
}
}
看完上述內(nèi)容,你們對PHP8有哪些新特性有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。