PHP 8 được phát hành! hosting web có các tính năng mới gì?
1. PHP 7
Dưới đây là danh sách các tính năng mới chính mà PHP 7 mang lại:
- Gợi ý kiểu hints thêm vào khai báo kiểu trả về
- Các lớp ẩn danh (phù hợp với cách sử dụng trong C # và Java)
- From
Closure::bind
(static method) vàClosure::bindTo
(method) toClosure::call
(method)
Tháng 11 năm 2020, có khoảng 40% trang web được phát triển bằng PHP 5.
2.PHP8!
Hỗ trợ type
PHP8 cho phép các nhà phát triển chỉ định đúng các loại giá trị khác nhau cho một biến. Biến được khai báo với các kiểu giá trị được phân tách bằng dấu sổ:
class Users {
private string|array $user;
public function setUser(string|array $user): void {
$this->user = $user;
}
public function getUser(): string|array {
return $this->user;
}
}
Các thuộc tính v2
PHP Attributes v2 là dữ liệu có cấu trúc cho phép các nhà phát triển thêm siêu dữ liệu vào các lớp, thuộc tính, phương thức, hàm, tham số và khai báo hằng số. Các thuộc tính này được đặt trước khi khai báo.
Constructor
Trước :
class humanBody {
public int $size;
public int $weight;
public function __construct(
int $size = 0,
int $weight = 0,
) {
$this->size = $size;
$this->weight = $weight;
}
}
Sau :
class humanBody {
public function __construct(
public int $size = 0,
public int $weight = 0,
) {}
}
Đối số được đặt tên
Trước PHP 8:
htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
Với PHP 8:
htmlspecialchars($string, double_encode: false);
Khớp biểu thức
Đối sánh
Trước :
switch (example) {
case 'example':
$result = "Switch this";
break;
case example:
$result = "Example result switched";
break;
}
echo $result;
//> Match this
Sau :
echo match (example) {
'example' => "Switch this",
example => "Example result switched",
};
//> Example result switched
Trên hết, Match có thể kết hợp nhiều biểu thức dòng đơn (so khớp), được phân tách bằng dấu phẩy. Đây là một ví dụ:
$result = match($input) {
A, B => 'value for A and B',
X, Y, Z => 'Same for 3 and 4',
};
>>> Xem thêm:Cách Loại Bỏ Các Lỗi Tích Cực Trong Giám Sát Toàn Vẹn Tệp Trên WordPress