PHP 8 中的构造函数属性提升
在 PHP 8 中,添加了构造函数属性提升。它有助于在构建简单对象时减少大量冗余代码。此功能允许我们将类字段、构造函数定义和变量赋值(全部在一个语法中)组合到构造函数参数列表里。
我们可以说,我们可以通过构造函数属性提升将类属性和构造函数组合起来,而不是单独指定它们。
示例 1:PHP 7 代码
<?php
class Account {
public float $a;
public float $b;
public float $c;
public function __construct(
float $a = 0.0,
float $b = 0.0,
float $c = 0.0,
)
{
$this->a = $x;
$this->b = $y;
$this->c = $z;
}
}
?>示例 2:PHP 8 代码
我们可以按照如下方式将上面的 PHP 7 代码重写为 PHP 8 代码 -
<?php
class Account {
public function __construct(
public float $a = 0.0,
public float $b = 0.0,
public float $c = 0.0,
) {}
}
$Account =new Account (10.90,20.0,30.80);
print_r($Account->a);
print_r($Account->a);
print_r($Account->a);
?>输出
10.9 20 30.8
在上面的代码中,我们将属性定义和填充内置在了构造函数签名中。这段代码将去除重复项。
示例 3:用于构造函数属性提升的 PHP 8 代码
<?php
class Employee {
public function __construct(
public int $id,
public string $name,
) {}
}
$employee = new Employee(11, 'Alex');
print_r($employee->id);
print_r($employee->name);
?>输出
11 Alex
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP