97超碰碰碰_91热播_91国产免费视频_91视频合集_国产精品白丝jk白祙_国产精品久免费的黄网站

您現(xiàn)在所在的位置:首頁(yè) >關(guān)于奇酷 > 行業(yè)動(dòng)態(tài) > PHP 8 發(fā)布首個(gè) Alpha 版本

PHP 8 發(fā)布首個(gè) Alpha 版本

來(lái)源:奇酷教育 發(fā)表于:

PHP 8 發(fā)布首個(gè) Alpha 版本

  PHP 8 將于今年 11 月 26 日發(fā)布,而原定于 6 月 18 日發(fā)布的第一個(gè) Alpha 版本跳票到了今天發(fā)布。

 
  下載地址:
 
  https://downloads.php.net/~pollita
 
  PHP 8 是一個(gè)新的主要版本,它引入了一些重大變更,以及許多新特性和性能改進(jìn),下邊簡(jiǎn)單介紹一些亮點(diǎn):
 
  1
 
  JIT,Just-In-Time,即時(shí)編譯
 
  最重大的特性非 JIT 莫屬。該特性的研發(fā)歷時(shí)多年,熬過(guò)了 PHP 5 與 7 大版本系列(PHP 6 項(xiàng)目流產(chǎn)),直到去年 3 月份才最終通過(guò)投票確認(rèn)將進(jìn)入 PHP 8。
 
  JIT 是一種編譯器策略,它將代碼表述為一種中間狀態(tài),在運(yùn)行時(shí)將其轉(zhuǎn)換為依賴于體系結(jié)構(gòu)的機(jī)器碼,并即時(shí)執(zhí)行。在 PHP 中,這意味著 JIT 將為 Zend VM 生成的指令視為中間表述,并以依賴于體系結(jié)構(gòu)的機(jī)器碼執(zhí)行,也就是說(shuō)托管代碼的不再是 Zend VM,而是更為底層的 CPU。
 
  雖然自 PHP 7.0 以來(lái),通過(guò)優(yōu)化核心數(shù)據(jù)結(jié)構(gòu) HashTable、強(qiáng)化 Zend VM 中某些操作碼與持續(xù)改進(jìn) OPCache 的 Optimizer 組件等具體措施,PHP 性能得到了顯著提升,但是實(shí)際上這些優(yōu)化似乎已經(jīng)走到極限了?,F(xiàn)在 JIT 從底層著手,被認(rèn)為是目前提升 PHP 性能的最佳出路。
 
  關(guān)于引入 JIT 后的性能對(duì)比(以及 PHP 8 整體性能),可以參考一下本月 Phoronix 的基準(zhǔn)測(cè)試(注:用的是 5 月底的源碼構(gòu)建版進(jìn)行的測(cè)試)。
 
  2
 
  Union Types,聯(lián)合類型
 
  Union Types 支持接收多個(gè)不同類型的值,它是兩種或多種類型的集合,使用時(shí)可以選擇其一。包括 PHP 在內(nèi)的開(kāi)源生態(tài)的標(biāo)準(zhǔn)庫(kù)中使用聯(lián)合類型非常普遍,PHP 支持聯(lián)合類型,將會(huì)允許將更多類型信息從 phpdoc 遷移至函數(shù)簽名??梢哉f(shuō),泛型之后,聯(lián)合類型是目前類型聲明系統(tǒng)中最大的突破口。
 
  3
 
  Attributes,注解
 
  這里的 Attributes 也就是其它語(yǔ)言中的 annotations(注解),它提供了一種向類添加元數(shù)據(jù)的方法,無(wú)需解析文檔塊。
 
  4
 
  新的 static 返回類型
 
  雖然已經(jīng)可以返回 self,但是考慮到 PHP 具有動(dòng)態(tài)類型的性質(zhì),PHP 8 中支持 static 返回類型將更加高效,對(duì)于許多開(kāi)發(fā)者來(lái)說(shuō)應(yīng)當(dāng)非常有用。
 
  class Foo
 
  {
 
      public function test(): static
 
  {
 
          return new static();
 
      }
 
  }
 
  5
 
  WeakMap,弱映射
 
  WeakMaps 允許創(chuàng)建從對(duì)象到任意值的映射(類似 SplObjectStorage),而不會(huì)阻止對(duì)用作 key 的對(duì)象進(jìn)行垃圾回收。只要將對(duì)象添加到 WeakMap 中,GC 在觸發(fā)條件時(shí)就可以將其占用內(nèi)存回收。
 
  PHP 7.4 中,實(shí)際上已經(jīng)引入了對(duì) WeakReference(弱引用)的支持。但是,原始的弱引用本身用途有限,而弱映射在實(shí)踐中更為常用。由于沒(méi)有提供注冊(cè)銷毀回調(diào)的功能,因此無(wú)法在 PHP 弱引用之上實(shí)現(xiàn)有效的弱映射。弱映射的一般用例是將數(shù)據(jù)與單個(gè)對(duì)象實(shí)例相關(guān)聯(lián),而不強(qiáng)迫它們保持活動(dòng)狀態(tài),避免長(zhǎng)時(shí)間運(yùn)行的進(jìn)程無(wú)謂地占用內(nèi)存。
 
  class Foo
 
  {
 
  private WeakMap $cache;
 
  public function getSomethingWithCaching(object $obj): object
 
  {
 
  return $this->cache[$obj]
 
  ??= $this->computeSomethingExpensive($obj);
 
  }
 
  }
 
  關(guān)于 WeakMap/WeakReference,可以參考這一篇的 WeakRef 部分,雖然講的是 JS,但原理是相通的:
 
  https://www.oschina.net/news/106670/what-s-new-in-javascript-google-io-2019
 
  更多的相關(guān)特性可以查看:
 
  https://www.php.net/index.php#id2020-06-25-1
 
  https://wiki.php.net/rfc
 
  https://github.com/php/php-src/blob/master/UPGRADING
 
  https://derickrethans.nl/archive.html(Derick Rethans 的博客,他是 PHP 核心貢獻(xiàn)者,也是 PHP 7.4 的 release manager)
 
  PHP 8 是一個(gè)重大更新版本,帶了一些重大變更,所以最好查看 UPGRADING 文檔的相關(guān)事項(xiàng)。不過(guò)實(shí)際上,其中許多重大變更在之前的 7.* 版本中已經(jīng)引入,因此,如果你一直保持最新版本,那么升級(jí)到 PHP 8 也影響不大。
主站蜘蛛池模板: 这里有精品可以观看 | 欧美特级午夜一区二区三区 | 亚洲 欧美 成人日韩 | 免费看成人频视在线视频 | 国产高清在线精品一区二区三区 | 久久久久久午夜成人影院 | 国产91久久精品一区二区 | 麻豆日韩国产精品欧美在线 | 黄色激情视频在线观看 | 波多野结衣免费一区视频 | 少妇性俱乐部纵欲狂欢少妇 | 久久新 | 四虎4hu永久免费视频大全 | 爱爱www在线观看视频高清 | 中文字幕人成无码免费视频 | 日韩精品在线第一页 | 福利午夜影院 | 久久视频在线播放视频99re6 | 在线观看无码不卡av | av第一福利网站 | 国产一区二区三区免费观看在线 | 欧美国产日本精品一区二区三区 | 亚洲国产婷婷香蕉久久久久久 | 欧美日韩国产一区二区三区 | 狠狠88综合久久久久综合网 | 九九精品激情在线视频 | 手机在线看永久av片免费 | 国产在线播放成人免费 | 风韵多水的老熟妇 | 一级毛片高清大全免费观看 | 在线看欧美成人中文字幕视频 | 无码精品国产一区二区三区免费 | 一级毛片在线直接观看 | 午夜激情福利视频 | 中国一级毛片国产高清 | 欧美一级黄色片免费看 | 国产精品综合 | 日本a级黄色大片 | 色综合中文综合网 | 九九精品免费 | 免费大片黄日本在线观看 |