PHP 8 là bước ngoặt lớn nhất của PHP trong nhiều năm. Không chỉ cải thiện hiệu suất đáng kể, PHP 8 còn mang đến nhiều tính năng cú pháp giúp code trở nên ngắn gọn, rõ ràng và ít lỗi hơn.
Named Arguments (Đối số đặt tên)
Trước PHP 8, bạn phải nhớ đúng thứ tự tham số khi gọi hàm. Named Arguments cho phép bạn truyền tham số theo tên:
// Cách cũ — phải nhớ thứ tự
array_slice($array, 1, null, true);
// PHP 8 — rõ ràng hơn nhiều
array_slice(array: $array, offset: 1, preserve_keys: true);
Match Expression
Match là phiên bản nâng cấp của switch, so sánh chặt, không cần break:
$status = 2;
$text = match($status) {
1 => 'Đang chờ',
2, 3 => 'Đang xử lý',
4 => 'Hoàn thành',
default => 'Không xác định',
};
Nullsafe Operator (?->)
Không còn phải kiểm tra null ở từng bước trong chuỗi method call:
// Cách cũ — lồng nhau phức tạp
$city = null;
if ($user !== null && $user->getAddress() !== null) {
$city = $user->getAddress()->getCity();
}
// PHP 8 — gọn gàng
$city = $user?->getAddress()?->getCity();
Constructor Property Promotion
// PHP 7 — lặp lại nhiều
class User {
public string $name;
public function __construct(string $name) {
$this->name = $name;
}
}
// PHP 8 — gọn hơn nhiều
class User {
public function __construct(
public string $name,
public string $email,
) {}
}
Union Types
function formatInput(int|string $value): string {
return (string) $value;
}
JIT Compiler
PHP 8 giới thiệu Just-In-Time Compiler, biên dịch code PHP thành mã máy trong lúc chạy. Hiệu suất tăng đáng kể cho các tác vụ tính toán nặng.
PHP 8 không chỉ là bản vá lỗi — đây là phiên bản định nghĩa lại cách viết PHP hiện đại. Nếu bạn vẫn đang dùng PHP 7, đã đến lúc nâng cấp.
Kết luận
PHP 8 mang đến nhiều cải tiến thực sự có giá trị: code ngắn hơn, an toàn hơn, và nhanh hơn. Named Arguments, Match Expression và Nullsafe Operator là ba tính năng bạn sẽ dùng ngay sau khi biết đến.
Chưa có bình luận. Hãy là người đầu tiên!