Trong PHP 8, Quảng cáo Thuộc tính Khối mã lệnh được thêm vào. Nó giúp giảm thiểu rất nhiều mã viết sẵn trong khi xây dựng các đối tượng đơn giản. Tính năng này cho phép chúng tôi kết hợp các trường lớp, định nghĩa hàm tạo và phép gán biến, tất cả trong một cú pháp, vào danh sách tham số hàm tạo.
Chúng ta có thể nói rằng thay vì chỉ định các thuộc tính của lớp và một hàm tạo, chúng ta có thể kết hợp tất cả chúng bằng cách sử dụng quảng bá thuộc tính của hàm tạo.
Ví dụ 1:Mã 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; } } ?>
Ví dụ 2:Mã PHP 8
Chúng ta có thể viết lại đoạn mã PHP 7 ở trên bằng PHP 8 như sau -
<?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); ?>
Đầu ra
10.9 20 30.8
Trong đoạn mã trên, chúng tôi đã kết hợp định nghĩa thuộc tính và tổng thể nội dòng trong chữ ký của phương thức khởi tạo. Mã này sẽ loại bỏ sự lặp lại.
Ví dụ 3:Mã PHP 8 để quảng cáo thuộc tính cấu tạo
<?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); ?>
Đầu ra
11 Alex