📜  php 8 构造函数属性提升 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:10.305000             🧑  作者: Mango

PHP 8 构造函数属性提升

简介

在 PHP 8 中,一个新的特性 “构造函数属性提升” (Constructor Property Promotion) 被引入。它简化了类的属性定义和初始化,并减少了样板代码。在此之前,你需要定义一个属性并在类的构造函数中初始化它。在 PHP 8 中,你可以直接在构造函数中定义和初始化属性。

用法

假设我们有一个 “User” 类,我们需要定义三个属性,现在我们可以使用如下方式定义:

class User
{
    public function __construct(
        public string $name, 
        public int $age, 
        public string $email
    ) {}
}
$user = new User('Tom', 18, 'tom@example.com');

如上所示,我们可以直接在构造函数中定义和初始化属性。属性访问修饰符“public/private/protected” 也可以直接在参数前添加以指定属性本身的访问修饰符。

优势
  • 简化了属性定义和初始化的样板代码
  • 增加了可读性,减少了冗余
  • 可测试性更好,更容易实现依赖注入
总结

构造函数属性提升简化了类的属性定义和初始化,减少了样板代码,增加了可读性和可测试性,更容易实现依赖注入。开始使用构造函数属性提升,并享受更好的编程体验吧!

以上内容摘自PHP官方文档