日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

PHP8新特性之构造函数属性大加强!

發布時間:2023/12/24 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 PHP8新特性之构造函数属性大加强! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

新版本的PHP將于12月3日正式發布。除了大量的bug修復和小的改進,全球的開發人員也將獲得一些新的有趣特性。名單雖然還沒有結束,但是,我們可以查看我們期待的新特性。我將準備一系列短篇文章,每一篇都將重點介紹,讓我們開始吧!

在第一篇文章中,我向大家介紹構造函數屬性提升。PHP8 將引入一個在諸如 Hack、Korlin 或 TypesScript 等語言中很有名的概念。它是如何工作的呢,在什么樣的情況下可以使用?讓我們看看下面的例子:

非常簡單的數值對象,不是嗎?我們幾乎每天都要與這種類型打交道。每當我們需要把數值從構造函數的參數傳遞給類中屬性時,都需要書寫如圖所示的整塊模板代碼,確實是令人感到些許厭煩。 構造函數屬性提升功能將會為我們解決這個問題, 并且能夠讓類似的代碼書寫更加簡短,簡單。 讓我們來看一下該如何使用:

我們可以簡單的在構造函數參數的類型聲明前增加一個訪問修飾符, 之后該參數將自動分配給具有相同名稱的類屬性。 我們可以理解為,構造函數中,具有訪問修飾符的參數將會得到提升,成為同名稱的類屬性。

你可以混合使用屬性提升和常規的屬性聲明。如下面例子所示:

上述示例代碼等效于下面例子的代碼:

構造函數屬性提升(Constructor Property Promotion)僅可以用在常規類和 traits 引用類里面,它不可以被用在接口和抽象類里面(盡管我們可以在這些類里面聲明構造函數)。

如果你的代碼使用了大量的 值對象(VO) 或者 數據傳輸對象(DTO),構造函數屬性提升(Constructor Property Promotion)將大大簡化和縮短你的代碼。類似的功能需求曾被多次討論,但只有 Nikita Popov 編寫的實現版本獲得了足夠多的好評,它并將被合并到新的 PHP 版本中。您可以在此 RFC 中閱讀有關它的更多信息。

在“深入 PHP8”系列的下一部分,我們將討論聯合類型的實現。敬請期待!


這篇文章最初發表在我司的博客上。你可以點擊這里查看。


原文地址:https://dev.to/avantar/pe-into-php8-pa...

譯文地址:https://learnku.com/laravel/t/47600

總結

以上是生活随笔為你收集整理的PHP8新特性之构造函数属性大加强!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。