精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

PHP8還有半年就要來了,來看看有哪些新特性

新聞 前端
新的 PHP 主要版本 PHP8 預計將于 2020 年底發布。它現在正處于非常活躍的開發中,所以在接下來的幾個月里,開發速度和開發進程可能會有很大的變化。

 [[328051]]

新的 PHP 主要版本 PHP8 預計將于 2020 年底發布。

它現在正處于非常活躍的開發中,所以在接下來的幾個月里,開發速度和開發進程可能會有很大的變化。

在這篇文章中,我會羅列出 PHP8 中會發生的一些改變:新功能、性能改進和突破性變化。

因為 PHP8 是一個新的主要版本,所以代碼及語法向下兼容性會更低。

如果您一直保持與最新版本保持同步,那么升級應該不會太難,因為大多數突破性的更改在 7.* 版本中都已棄用。

除了突破性的變化,PHP8 還帶來了一些不錯的新特性,比如 JIT 編譯器和 union types,當然還有其它更多的特性。

新特性

從新特性開始說起,但是 PHP8 仍在積極開發中,因此這個清單將隨著時間的推移而增長。

聯合類型 (Union types) RFC

考慮到 PHP 的動態類型特性,聯合類型在很多情況下都很有用。

聯合類型是兩個或多個類型的集合,這些類型指示可以使用這兩個類型中的任何一個。

  1. public function foo(Foo|Bar $input): int|float

我怎么感覺這個和 C 語言里的聯合體有點相似。

請注意,void 永遠不能是聯合類型的一部分,因為它表示 “根本沒有返回值”。

此外,可以使用 |NULL 或使用現有的?。

  1. public function foo(Foo|null $foo): void
  2.  
  3. public function bar(?Bar $bar): void

JIT RFC

JIT-Just-In-Time 編譯器承諾顯著提高性能,盡管在 Web 應用可能沒有較大的好處。

在這一點上還沒有任何準確的基準,但它們肯定會出現的。

靜態返回類型 (Static return type) RFC

雖然已經可以返回 self ,但在 PHP8 之前,靜態不是有效的返回類型。考慮到 PHP 的動態類型特性,它對許多開發人員都很有用。

  1. class Foo 
  2.  
  3.  
  4. public function test(): static 
  5.  
  6.  
  7. return new static(); 
  8.  
  9.  

弱映射 (Weak maps) RFC

基于在 PHP 7.4 中添加的 WeakRefs RFC 的基礎上,在 PHP 8 中 添加了 WeakMap 實現。WeakMap 包含對對象的引用,這不會阻止這些對象被垃圾回收。

以 ORM 為例,它們經常實現包含對實體類的引用的緩存,以提高實體之間關系的性能。

這些實體對象不能被垃圾回收,只要該緩存有對它們的引用,即使緩存是唯一引用它們的東西。

如果該緩存層改為使用弱引用和映射,則 PHP 將在其他對象不再引用這些對象時對它們進行垃圾回收。

特別是在 ORM 的情況下,它可以在一個請求中管理數百個 (如果不是數千個) 實體;弱映射可以提供一種更好、更資源友好的方式來處理這些對象。

以下是 Weak maps 的用法,RFC 中的一個示例:

  1. class Foo 
  2.  
  3.  
  4. private WeakMap $cache; 
  5.  
  6. public function getSomethingWithCaching(object $obj): object 
  7.  
  8.  
  9. return $this->cache[$obj] 
  10.  
  11. ??= $this->computeSomethingExpensive($obj); 
  12.  
  13.  

可以在對象上使用::class RFC

一個小而有用的新特性:現在可以對對象使用::class,而不必對它們使用 get_class()。

它的工作方式與 get_class() 相同。

  1. $foo = new Foo(); 
  2.  
  3. var_dump($foo::class); 

創建 DateTime 對象的接口

您已經可以使用 DateTime::createFromImmutable($immutableDateTime),從 DateTimeImmutable 對象創建 DateTime 對象,但是反過來很棘手。

通過添加 DateTime::createFromInterface() 和 DatetimeImmutable::createFromInterface(),現在有了一種將 DateTime 和 DateTimeImmutable 對象相互轉換的通用方法。

  1. DateTime::createFromInterface(DateTimeInterface $other); 
  2.  
  3. DateTimeImmutable::createFromInterface(DateTimeInterface $other); 

新的 Stringable 接口 RFC

Stringable 接口可用于鍵入提示任何字符串或實現__toString()。

此外,每當類實現__toString() 時,它都會自動在幕后實現接口,不需要手動實現它。

  1. class Foo 
  2.  
  3.  
  4. public function __toString(): string 
  5.  
  6.  
  7. return 'foo'
  8.  
  9.  
  10.  
  11. function bar(Stringable $stringable) { /* … */ } 
  12.  
  13. bar(new Foo()); 
  14.  
  15. bar('abc'); 

新的 str_contains () 函數 RFC

有些人可能會說這是早就應該實現的功能,但是我們最終不必再依賴 strpos () 來知道一個字符串是否包含另一個字符串。

以前:

  1. if (strpos('string with lots of words''words') !== false) { /* … */ } 

現在:

  1. if (str_contains('string with lots of words''words')) { /* … */ } 

新的 fdiv () 函數 PR

新的 fdiv () 函數的作用類似于 fmod () 和 intdiv () 函數,它們允許被 0 整除。

您將得到 INF、-INF 或 NaN ,而不是錯誤,具體取決于大小寫。

新的 get_debug_type () 函數 RFC

get_debug_type () 返回一個變量的類型。

聽起來像是 gettype () 可以實現的功能。

get_debug_type () 為數組、字符串、匿名類和對象返回更有用的輸出。

例如,在類 \foo\Bar 上調用 gettype () 將返回 Object。

使用 get_debug_type () 將返回類名。

可以在 RFC 中找到 get_debug_type () 和 gettype () 之間差異的完整列表。

改進 traits 里的抽象方法 RFC

traits 可以指定必須由使用它們的類實現的抽象方法。

但是有一個警告:在 PHP8 之前,這些方法實現的簽名沒有經過驗證。

在以下代碼中有效:

  1. trait Test { 
  2.  
  3. abstract public function test(int $input): int
  4.  
  5.  
  6. class UsesTrait 
  7.  
  8.  
  9. use Test; 
  10.  
  11. public function test($input) 
  12.  
  13.  
  14. return $input; 
  15.  
  16.  

在使用 traits 并實現其抽象方法時,PHP8 將執行正確的方法簽名驗證。

這意味著您需要改寫以下內容:

  1. class UsesTrait 
  2.  
  3.  
  4. use Test; 
  5.  
  6. public function test(int $input): int 
  7.  
  8.  
  9. return $input; 
  10.  
  11.  

token_get_all () 的對象接口 RFC

函數的作用是:返回值的是一個數組。

此 RFC 使用 PhpToken::getall () 方法添加一個 PhpToken 類。

此實現使用對象,而不是普通值。

它消耗更少的內存,更容易閱讀。

變量語法調整 RFC

來自 RFC:“統一變量語法 RFC 解決了 PHP 變量語法中的一些不一致問題”,這個 RFC 打算解決少數被忽略的情況。

內部函數的類型批注

很多人都參與到為所有內部函數添加適當類型注釋的工作中。

這是一個長期存在的問題,通過在以前版本中對 PHP 所做的所有更改,最終可以解決這個問題。

這意味著內部函數和方法在反射中將具有完整的類型信息。

統一錯誤類型 RFC

PHP 中的用戶定義函數已經拋出 TypeErrors,但是內部函數沒有拋出 TypeErrors,而是發出警告并返回 NULL。

從 PHP8 開始,內部函數的行為已經保持一致。

重新分類 zend engine 報錯 RFC

許多以前只觸發警告或通知的錯誤已轉換為適當的錯誤。

以下警告已更改。

未定義變量:錯誤異常而不是通知。

未定義的數組索引:警告而不是通知。

被零除:DivisionByZeroError 異常而不是警告。

嘗試遞增 / 遞減非對象的屬性‘% s’:錯誤異常而不是警告。

試圖修改非對象的屬性‘% s’:錯誤異常而不是警告。

嘗試分配非對象的屬性‘% s’:錯誤異常而不是警告。

從空值創建默認對象:錯誤異常而不是警告。

正在嘗試獲取非對象的屬性‘% s’:警告而不是通知。

未定義屬性:% s::$% s:警告而不是通知。

無法將元素添加到數組,因為下一個元素已被占用:錯誤異常而不是警告。

無法取消設置非數組變量中的偏移量:錯誤異常而不是警告。

不能將標量值用作數組:錯誤異常而不是警告。

只能解包數組和遍歷:TypeError 異常而不是警告。

為 foreach () 提供的參數無效:TypeError 異常而不是警告。

偏移類型非法:TypeError 異常而不是警告。

isset 中的偏移類型非法或為空:TypeError 異常而不是警告。

未設置中的偏移類型非法:TypeError 異常而不是警告。

數組到字符串的轉換:警告而不是通知。

資源 ID#% d 用作偏移量,轉換為整數 (% d):警告而不是通知。

發生字符串偏移量轉換:警告而不是通知。

未初始化的字符串偏移量:% d:警告而不是通知。

無法將空字符串分配給字符串偏移量:錯誤異常而不是警告

默認錯誤報告級別

現在是 E_ALL,而不是除 E_NOTICE 和 E_DEVERATED 之外的所有內容。

這意味著可能會彈出許多以前被悄悄忽略的錯誤,盡管在 PHP8 之前可能已經存在。

@運算符不再忽略致命錯誤

此更改可能會揭示在 PHP8 之前隱藏的錯誤。請確保在生產服務器上設置 display_errors=off !

串聯優先級 RFC

雖然在 PHP7.4 中已不推薦使用,但此更改現在生效。

如果你這樣寫的話:

echo "sum: " . $a + $b;

PHP 以前會這樣解釋它:

echo ("sum: " . $a) + $b;

PHP 8 將會這樣解釋它:

echo "sum: " . ($a + $b);

反射方法簽名更改

反射類的三個方法簽名已更改:

ReflectionClass::newInstance($args);

ReflectionFunction::invoke($args);

ReflectionMethod::invoke($object, $args);

現已成為:

ReflectionClass::newInstance(...$args);

ReflectionFunction::invoke(...$args);

ReflectionMethod::invoke($object, ...$args);

升級指南指定,如果您擴展了這些類,并且仍然希望同時支持 PHP 7 和 PHP 8,則允許以下簽名:

ReflectionClass::newInstance($arg = null, ...$args);

ReflectionFunction::invoke($arg = null, ...$args);

ReflectionMethod::invoke($object, $arg = null, ...$args);

 

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2020-04-13 17:17:28

MySQL8.0功能

2019-06-14 14:30:33

HTTP3協議

2025-09-25 14:00:56

2009-03-28 09:39:25

Windows 7微軟操作系統

2020-11-24 06:00:55

PythonPython之父編程語言

2024-04-03 08:47:58

React服務端組件Actions

2013-11-11 09:49:32

Linux TorvaLinux內核

2021-06-21 09:04:36

Windows 11系統設計

2023-10-18 10:10:29

Node.js 21前端

2017-09-12 16:28:31

MySQLMySQL 8.0.3變化

2022-01-10 09:49:52

6G5G通信

2021-01-28 16:58:12

數字貨幣加密貨幣區塊鏈

2020-05-07 14:59:52

iOS 13.5蘋果更新

2021-01-12 08:57:55

Fedora 34PHP8開發

2021-06-09 18:21:20

語法PHP8 \Match

2024-08-28 13:00:00

2022-03-29 10:59:00

5G6G

2022-08-11 08:25:58

5G6G運營商

2020-10-07 16:24:30

iPhone 12

2012-05-01 21:21:47

小米
點贊
收藏

51CTO技術棧公眾號

岛国在线视频| 国产 中文 字幕 日韩 在线| youjizz在线播放| 久久狠狠亚洲综合| 久久韩国免费视频| 中文在线字幕观看| 欧美成a人片在线观看久| 中文字幕中文字幕在线一区| 国产成人看片| 波多野结衣一区二区在线 | 美女精品在线| 精品国产一区二区三区四区在线观看| 动漫av在线免费观看| 范冰冰一级做a爰片久久毛片| 国产精品久久久久一区二区三区 | 精品精品视频| 五月婷婷激情综合| 亚洲精品日韩精品| 欧美 日韩 国产 在线| 日本91福利区| 97视频在线播放| 无码黑人精品一区二区| 色愁久久久久久| 欧美一区三区二区| 欧美两根一起进3p做受视频| 性欧美高清come| 国产亚洲精久久久久久| 成人羞羞视频免费| 一级成人免费视频| 久久aⅴ国产紧身牛仔裤| 欧美xxxx综合视频| 毛片aaaaaa| 色婷婷久久久| 欧美成人精品二区三区99精品| 国产一级片黄色| 国产精品13p| 亚洲综合久久久久| 日本免费黄色小视频| 国产福利片在线| 久久影院视频免费| 精品久久精品久久| 日本免费一区视频| 国产91综合网| 在线精品视频一区二区| 国产精品视频公开费视频| 日韩人妻无码一区二区三区99 | 在线免费看av片| 久久久久久久尹人综合网亚洲| 97精品久久久| 日本系列第一页| 亚洲久久一区| 国产+成+人+亚洲欧洲| 久久久美女视频| 午夜性色一区二区三区免费视频| 日韩中文综合网| 色欲一区二区三区精品a片| 日韩精品诱惑一区?区三区| 亚洲色图日韩av| 一色道久久88加勒比一| 蜜臀久久99精品久久一区二区| 日韩高清av一区二区三区| 奇米777第四色| 日本妇女一区| 日韩综合一区二区| 亚洲国产精品字幕| 中文乱码人妻一区二区三区视频| 久久91在线| 亚洲国产精品久久久久秋霞蜜臀| 国产免费无码一区二区| 在线精品国产亚洲| 日韩av一区二区在线观看| 亚洲欧美日韩色| 中文字幕亚洲影视| 少妇高潮久久久久久潘金莲| 国产3级在线观看| 欧美一区精品| 91国产美女在线观看| 国产又黄又粗又爽| 琪琪一区二区三区| http;//www.99re视频| 婷婷在线免费视频| 国产亚洲一区字幕| 中文字幕欧美日韩一区二区| 亚洲综合图区| 精品久久久一区二区| 日本久久久精品视频| 亚洲成人av观看| 91精品欧美综合在线观看最新| 日韩女优在线视频| 久久av综合| 欧美成人亚洲成人日韩成人| 国产性xxxx高清| 青椒成人免费视频| 国产精品国产一区二区| 国产小视频免费在线观看| 综合色天天鬼久久鬼色| 青青艹视频在线| 亚洲日日夜夜| 亚洲国产精品久久| 国精品人伦一区二区三区蜜桃| 国语自产精品视频在线看8查询8| 欧美与黑人午夜性猛交久久久| 亚洲一区二区视频在线播放| 国产99精品视频| 亚洲国产欧美一区二区三区不卡| 中文字幕有码在线视频| 色婷婷综合激情| 美女又黄又免费的视频| 国产欧美日韩视频在线| 久久久久久国产精品三级玉女聊斋| 亚洲综合图片网| 成人性视频免费网站| 亚洲国产精品视频一区| 黄色软件视频在线观看| 欧美一级久久久| 我不卡一区二区| 日韩香蕉视频| 亚洲综合在线做性| 午夜免费福利在线观看| 欧美日韩亚洲一区二| 伊人五月天婷婷| 日韩欧美中文| 日韩美女视频在线观看| 欧美一级在线免费观看| 国产精品初高中害羞小美女文| 大肉大捧一进一出好爽视频| 亚洲精品18| 久久亚洲精品毛片| 伊人网免费视频| 国产色爱av资源综合区| 性欧美大战久久久久久久| 日本一区二区三区播放| 久久香蕉频线观| 在线视频 91| 国产精品乱子久久久久| 成人在线观看a| 美女毛片一区二区三区四区| 韩国三级电影久久久久久| 成 人片 黄 色 大 片| 亚洲同性同志一二三专区| 一区二区三区 日韩| 欧洲grand老妇人| 国产99久久精品一区二区永久免费| 人妻少妇精品无码专区| 亚洲国产婷婷综合在线精品| 色偷偷中文字幕| 综合久久婷婷| 国产不卡一区二区在线观看| 综合久久2o19| 日韩精品专区在线影院观看| 一区视频免费观看| 国产+成+人+亚洲欧洲自线| 大片在线观看网站免费收看| 日韩成人18| 午夜精品久久久99热福利| 国产精品羞羞答答在线| 亚洲精品国产精华液| 黑人无套内谢中国美女| 国产一区日韩欧美| 国产伦精品一区二区三区视频孕妇 | 精品国产依人香蕉在线精品| 国产精品久久婷婷| 亚洲欧美一区二区三区国产精品| 超碰成人在线播放| 欧美a级在线| 国产精品一区二区三区免费观看| 国产va在线视频| 亚洲欧美精品suv| 中文字幕欧美在线观看| 最近中文字幕一区二区三区| 佐山爱在线视频| 欧美日本二区| 久久伊人资源站| 日韩大尺度黄色| 久久精品青青大伊人av| 老牛影视av牛牛影视av| 黑人巨大精品欧美一区二区| 大胸美女被爆操| 国产精品系列在线播放| 日韩欧美一区三区| 日韩欧美精品一区| 成人黄动漫网站免费| 中文在线8资源库| 精品国产欧美一区二区五十路 | 国产一区二区免费看| 欧美图片激情小说| 视频国产一区| 91超碰在线免费观看| 日韩伦理在线一区| 久久精品成人一区二区三区| 亚洲精品综合网| 色狠狠一区二区| 久久久91视频| 久久精品夜色噜噜亚洲a∨| 在线观看免费看片| 久久狠狠婷婷| 亚洲乱码日产精品bd在线观看| 全球av集中精品导航福利| 91牛牛免费视频| 韩日精品一区二区| 欧美日韩国产成人在线| yjizz视频网站在线播放| 欧美成人r级一区二区三区| 青青国产在线视频| 午夜在线电影亚洲一区| 91香蕉一区二区三区在线观看| 波多野结衣在线一区| 91日韩精品视频| 日韩激情中文字幕| 日本xxxxxxxxxx75| 国产精品麻豆久久| 欧美一区二区三区在线免费观看| 亚洲小说春色综合另类电影| 国产精品久久久久国产a级| 91九色在线看| 欧美乱大交做爰xxxⅹ性3| www.在线视频.com| 精品视频久久久| 黑人精品一区二区| 欧美一级日韩一级| 亚洲永久精品视频| 色综合视频一区二区三区高清| 久久久全国免费视频| 亚洲欧美另类综合偷拍| 欧洲美熟女乱又伦| 久久综合九色综合97婷婷女人 | 国产欧美日韩视频在线观看| 毛茸茸free性熟hd| 国产成人在线视频网站| 日韩高清第一页| 奇米色一区二区三区四区| 日韩av片在线看| 国产日韩欧美一区二区三区在线观看 | 网站黄在线观看| 337p日本欧洲亚洲大胆色噜噜| 精品国产av 无码一区二区三区| 欧美日韩成人高清| 中文字幕视频一区二区| 91久久一区二区| 日日骚av一区二区| 一本一道综合狠狠老| 69成人免费视频| 欧美日韩另类在线| 韩国av中文字幕| 日韩欧美亚洲综合| 波多野结衣视频网站| 亚洲国产成人高清精品| 99视频只有精品| 一区二区高清免费观看影视大全 | 成年人视频免费在线观看| 亚洲老头同性xxxxx| 久久久久久女乱国产| 亚洲无av在线中文字幕| av在线免费观看网站| 色偷偷av亚洲男人的天堂| 欧美天天影院| 久久久999成人| 在线三级电影| 孩xxxx性bbbb欧美| 亚洲精品成人图区| 国产精品久久77777| 亚洲成人a级片| 亚洲自拍小视频免费观看| 91成人入口| 欧美日韩综合久久| 日韩电影在线视频| 成人在线免费高清视频| 在线精品观看| aaa毛片在线观看| 蜜臀va亚洲va欧美va天堂 | 无码视频一区二区三区| 欧美色图片你懂的| 国产99久一区二区三区a片 | 日本丰满少妇一区二区三区| 羞羞色院91蜜桃| 日韩欧美一区在线观看| 偷拍精品一区二区三区| 中文字幕亚洲一区| 爱看av在线| 国产精品日韩在线一区| 欧美日本三级| 欧美一区二区三区四区五区六区| 欧美第十八页| 黄页免费在线观看视频| 青青青伊人色综合久久| 在线成人精品视频| 久久精品亚洲国产奇米99| 91精品一区二区三区蜜桃| 午夜精品久久久久久久久久| 中文字幕+乱码+中文乱码www| 日韩一卡二卡三卡国产欧美| 天堂网在线中文| 在线播放精品一区二区三区| 色图在线观看| 国产精品亚洲精品| 久久久久久毛片免费看 | 亚洲毛片视频| 成年人三级黄色片| 94色蜜桃网一区二区三区| www.黄色com| 精品久久久久久久久中文字幕| 91精品视频免费在线观看| 日韩精品免费一线在线观看| 黄色在线视频网站| 国产99在线|中文| 精品自拍偷拍| 亚洲乱码日产精品bd在线观看| 日韩av中文字幕一区二区| 中文字幕乱视频| 亚洲欧美日韩国产综合在线| 欧美男人亚洲天堂| 亚洲第一色在线| 国产鲁鲁视频在线观看特色| 国产成人亚洲综合91| 久久99精品国产自在现线| 国产树林野战在线播放| 奇米色一区二区三区四区| 国产一级黄色录像| 亚洲一区影音先锋| 国产乱叫456在线| 中文字幕日韩综合av| 成人免费直播| 国产一区二区免费在线观看| 欧美成人午夜| 亚洲精品在线网址| 国产精品久久久久四虎| 一级片免费在线播放| 日韩av在线免费播放| 爱情岛亚洲播放路线| 成人情视频高清免费观看电影| 欧美伊人久久| 女王人厕视频2ⅴk| 一区二区三区中文字幕精品精品| 一级黄色片网站| 日韩有码在线电影| 国产成人久久精品麻豆二区| 日韩精品电影网站| 日日夜夜免费精品视频| 精品成人av一区二区三区| 欧美日韩国产综合新一区 | 久久免费偷拍视频| 久久久久久久极品| 国产丝袜一区视频在线观看| 九色porny丨入口在线| 精品一区二区三区免费毛片| 亚洲激情女人| 欧美 变态 另类 人妖| 精品福利樱桃av导航| 日韩三级电影网| 日本中文字幕久久看| 欧美裸体在线版观看完整版| 欧美一级裸体视频| 国产精品久久久久久久裸模| 91在线精品入口| 欧美成人精品不卡视频在线观看| 免费观看亚洲天堂| www精品久久| 91丨九色丨国产丨porny| 天堂中文字幕在线观看| 亚洲人成绝费网站色www| 97精品国产99久久久久久免费| 亚洲bbw性色大片| 国产一区二区三区国产| 国语对白一区二区| 亚洲欧美激情精品一区二区| 成人1区2区| 777久久精品一区二区三区无码 | 欧美一区二区三区啪啪| missav|免费高清av在线看| 狠狠色噜噜狠狠狠狠色吗综合| 午夜一区在线| 亚洲精品成人无码毛片| 懂色aⅴ精品一区二区三区| 亚洲女爱视频在线| 免费日韩一级片| 亚洲人成在线电影| 祥仔av免费一区二区三区四区| 欧美做暖暖视频| 成人av网站大全| 久久99导航| 国精产品一区二区三区有限公司| 日韩欧美精品久久| 精品一区二区三区视频在线观看| 日本福利片在线观看| 亚洲成色999久久网站| 欧美日韩视频免费观看| 久久综合狠狠综合久久综青草| 水蜜桃久久夜色精品一区的特点| 天天干天天舔天天操| 欧美精品久久天天躁| 在线看免费av| av蓝导航精品导航| 丝袜诱惑亚洲看片| 九九久久免费视频| 国产性色av一区二区| 视频在线观看免费影院欧美meiju| 黄色免费视频大全| 亚洲日本中文字幕区| 日本免费一区二区三区最新| 91在线免费视频|