📜  php 8 构造函数 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:27.981000             🧑  作者: Mango

PHP 8 构造函数

在 PHP 8 中,构造函数的特性得到了升级。构造函数是一个特殊的方法,它会在实例化一个类时自动被调用。在 PHP 8 中,构造函数可以使用属性声明来自动初始化属性值。下面是一个例子:

class Person {
    public function __construct(
        private string $name,
        private int $age,
        private string $gender = "secret"
    ) {}

    public function getInfo(): string {
        return "$this->name ($this->gender), $this->age";
    }
}

$p = new Person("Tom", 30);
echo $p->getInfo(); // 输出:Tom (secret), 30

在上面的例子中,Person 类的构造函数使用了属性声明来初始化 $name$age$gender 属性。注意 $gender 属性使用了一个默认值 "secret",因此在实例化这个类时可以不给 $gender 传参。

这个例子展示了 PHP 8 构造函数的两个新特性:属性声明和参数默认值。这些特性使得构造函数的定义更加简洁,同时也使得属性初始化更加方便。如果有大量的属性需要初始化,使用属性声明可以显著地减少代码量。

总之,PHP 8 的构造函数是一个非常实用的特性,它能够帮助程序员更快速、更方便地初始化对象属性。