Constructor property promotion cho phép khai báo và gán property ngay trên tham số constructor, bỏ đi phần lặp private X $x; ... $this->x = $x;.
php
final class Money
{
public function __construct(
public readonly int $amount,
public readonly string $currency = 'VND',
) {}
}Named arguments cho phép truyền tham số theo tên thay vì theo thứ tự:
php
$order = new Order(userId: 7, note: null, couponCode: 'SALE10');
htmlspecialchars($text, double_encode: false); // bỏ qua các tham số giữaLợi ích: gọi hàm nhiều tham số boolean/null dễ đọc hơn, và bỏ qua được tham số optional ở giữa mà không phải truyền lại giá trị mặc định.
Cần lưu ý: khi đã có người dùng named argument, tên tham số trở thành phần của API công khai — đổi tên tham số là breaking change. Named argument phải đứng sau các positional argument, và không được truyền trùng một tham số hai lần.