PHP8新特性之構(gòu)造函數(shù)屬性大加強(qiáng)!

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

創(chuàng)新互聯(lián)專注于古浪網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供古浪營(yíng)銷型網(wǎng)站建設(shè),古浪網(wǎng)站制作、古浪網(wǎng)頁設(shè)計(jì)、古浪網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造古浪網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供古浪網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

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

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

我們可以簡(jiǎn)單的在構(gòu)造函數(shù)參數(shù)的類型聲明前增加一個(gè)訪問修飾符, 之后該參數(shù)將自動(dòng)分配給具有相同名稱的類屬性。 我們可以理解為,構(gòu)造函數(shù)中,具有訪問修飾符的參數(shù)將會(huì)得到提升,成為同名稱的類屬性。

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

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

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

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

在“深入 PHP8”系列的下一部分,我們將討論聯(lián)合類型的實(shí)現(xiàn)。敬請(qǐng)期待!


這篇文章最初發(fā)表在我司的博客上。你可以點(diǎn)擊這里查看。


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

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

名稱欄目:PHP8新特性之構(gòu)造函數(shù)屬性大加強(qiáng)!
文章網(wǎng)址:http://www.muchs.cn/article32/cjpdsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、App設(shè)計(jì)網(wǎng)站排名、關(guān)鍵詞優(yōu)化企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)