成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP 8.1 發布,帶來諸多創新

開發 后端
PHP 8.1 正式發布,帶來了諸多創新,例如枚舉、Fibers和性能改進。

[[437272]]

PHP 8.1 正式發布,帶來了諸多創新,例如枚舉、Fibers和性能改進。

PHP 是一種服務器端腳本語言,用于開發 Web 應用程序。根據 W3Techs 的數據,78.2% 的網站使用 PHP 并使用已知的服務器端編程語言。換句話說,您在 Internet 上訪問的每 10 個網站中幾乎有 8 個以某種方式使用 PHP。

在宣布成立PHP 基金會幾天后,該語言通過發布最新的 PHP 8.1 更新而不斷發展。這個新版本于 2021 年 11 月 25 日發布,包含許多新功能,包括枚舉、只讀屬性、First-class 可調用語法、Fibers、交集類型、性能改進等。

讓我們快速瀏覽一下您應該遷移到 PHP 8.1 的一些新功能、性能調整和其他原因。

PHP 8.1 亮點

對于每一個新的 PHP 版本,我們通常可以期待性能的小幅提升,這次似乎也不例外。這個最新版本還提供了幫助開發人員編寫更簡潔代碼的功能。

枚舉(Enumerations)

PHP 8.1 引入了一種名為Enums的新數據類型。它基本上是在一個實體中聲明的一組預定義值。枚舉是應用程序建模中的重要工具,因為它允許您定義自己的允許狀態的微觀世界。

現在您可能已經在代碼中以一種或另一種方式使用了枚舉,但現在 PHP 8.1 將原生支持枚舉。這對每個人來說都是個好消息。在最基本的形式中,枚舉看起來像這樣: 

  1. enum Animal {  
  2.         case Dogs;  
  3.         case Cats;  
  4.         case Birds;  
  5.         case Reptiles;  

與其他語言類似,這是一種允許預定義值的枚舉類型。上面的示例創建一個新的名為枚舉類型Animal,它采用下列四個值:Animal::Dogs,Animal::Cats,Animal::Birds和Animal::Reptiles。可以將變量分配給這些值。

Enums 的優點是它們代表了一組常量值,但最重要的是,這些值可以被鍵入。

Fibers

到目前為止,PHP 僅用于編寫同步代碼。PHP 8.1 附帶了一項激動人心的新功能,用于將異步代碼構建到語言Fibers 中。

Fiber的引入旨在消除異步和同步函數之間的區別。

您可以使用 Fibers 開發全棧、可中斷的 PHP 函數,然后您可以使用這些函數在 PHP 中實現協作多任務處理。

Fiber 會暫停整個調用堆棧,因此函數的直接調用者無需更改其調用函數的方式。執行可以在調用堆棧中的任何地方使用 Fiber::suspend(). 

  1. $fiber = new Fiber(function (): void {  
  2.     $value = Fiber::suspend('fiber');  
  3.     echo "Value used to resume fiber: ", $value, "\n";  
  4. });   
  5. $value = $fiber->start(); 
  6. echo "Value from fiber suspending: ", $value, "\n";  
  7.  $fiber->resume('test'); 

輸出 

  1. Value from fiber suspending: fiber  
  2. Value used to resume fiber: test 

First-class 可調用語法

First-Class callables是一種引用閉包和函數的新方法。雖然以前您已經可以通過將它們的名稱用作字符串或通過創建可調用數組來引用它們,但現在有這種正確的語法可以從任何給定函數創建可調用對象,以便您以后可以調用它。 

  1. $fn = Closure::fromCallable('strlen');  
  2. $fn = strlen(...);  
  3. $fn = Closure::fromCallable([$this, 'method']);  
  4. $fn = $this->method(...)  
  5.  $fn = Closure::fromCallable([Foo::class, 'method']);  
  6. $fn = Foo::method(...); 

在這個例子中,每對表達式都是等價的。該strlen(...)語法創建一個Closure引用的strlen()功能,等等。

PHP 8.1 中的其他改進

數組和打包現在支持字符串鍵,并且可以創建類常量,final這樣它們就不會被子類覆蓋。此外,還有一個新array_is_list()函數可以確定數組是否只有從 0 開始并以 1 遞增的數字鍵,但它是否是實際列表。

PHP 8.1 引入了一種寫八進制整數的新方法,我們現在也有 Pure Intersection 類型。這與聯合類型相反,它允許任何聲明的類型。如果您經常在代碼中使用接口,Pure Intersection 類型很有用。

最后是never類型。它是一種返回類型,表示函數永遠不會返回。這意味著它將退出或始終拋出異常。 

  1. function redirect(string $url): never { 
  2.     header('Location: ' . $url);  
  3.     exit(); 

never 返回類型的目標 是指示和強制執行一個函數,以防止執行其余被調用的代碼。

最后但并非最不重要的一點是,PHP 8.1 圖像處理和 GD 擴展增加了對 AVIF 圖像的支持。與 JPEG、PNG 和 WebP 相比,AVIF 圖像可顯著減小文件大小,目前Google Chrome和Mozilla Firefox 支持。

PHP 8.1 性能改進

每個 PHP 版本都在性能方面不斷改進,PHP 8.1 為現實生活中的應用程序帶來了巨大的性能改進。

事實上,PHP 8.1 上的 Symfony 演示應用程序比 PHP 7.4 快約 23%,而 Laravel 在 PHP 8.1 上的運行速度比 PHP 7.4 快約 21.5%。

這是 PHP 8.1 中實現的兩項新技術以及許多小的性能修復和調整的結果。所以,當然,很高興看到 PHP 的性能如何隨著每個新的更新而不斷提高。 

 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2021-04-05 17:51:54

PHP數據開發

2022-05-07 09:34:21

Firefox瀏覽器

2023-11-01 07:38:39

2015-10-12 16:01:50

Plasma更新KDE

2024-04-28 09:01:06

React 19更新前端

2010-03-04 09:22:14

Firefox新版下載

2015-01-05 15:35:08

CES2015手機發布

2010-01-19 10:13:41

Windows 7 S系統發布

2013-04-17 09:08:23

Windows 8.1

2013-11-04 16:14:30

2021-08-06 15:18:37

Windows 11操作系統微軟

2013-06-27 11:10:09

Windows 8.1

2011-03-21 13:52:30

下載webOS SDKwebOS 2.1

2021-10-12 11:26:39

iOS應用系統

2021-07-17 15:25:05

PHP 8.1基準測試開發

2015-10-26 14:56:23

Ignite Chin微軟技術大會

2013-09-26 10:21:14

Windows 8.1必應

2022-02-17 12:52:23

微軟Windows 11

2013-08-26 09:21:54

微軟Windows 8.1

2014-02-24 11:27:27

Windows 8.1
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费一级欧美在线观看视频 | 91xh98hx 在线 国产 | 久久久精品一区二区三区 | 国产999精品久久久久久 | 在线 丝袜 欧美 日韩 制服 | 中文字幕福利视频 | 欧美在线一区二区三区 | 91性高湖久久久久久久久_久久99 | 国产一区二区黑人欧美xxxx | 一区二区三区网站 | 色在线免费 | 国产中文一区二区三区 | 午夜专区| 亚洲电影成人 | 精品一区二区在线观看 | 亚洲人精品午夜 | 精品亚洲永久免费精品 | 69福利影院 | 中文字幕亚洲欧美 | 99热这里只有精品8 激情毛片 | 国产在线观看av | 国产成在线观看免费视频 | 久久aⅴ乱码一区二区三区 91综合网 | 亚洲视频一区在线播放 | 国产一级在线观看 | 人人射人人 | 午夜影院在线免费观看视频 | 日韩视频在线免费观看 | 国产精品久久久久无码av | 欧美性jizz18性欧美 | 日本不卡在线观看 | 小h片免费观看久久久久 | 中文字幕免费视频 | 色888www视频在线观看 | 色在线免费 | 国产精品美女在线观看 | 日韩三区 | 成人国产精品久久久 | 日韩精品一区二区三区视频播放 | 中文字幕国产一区 | 天堂男人av |