PHP 8.4 Đã Ra Mắt: Những Tính Năng Nổi Bật Mới Nhất
PHP 8.4 được phát hành vào ngày 21 tháng 11 năm 2024. Phiên bản này mang đến nhiều tính năng đáng chú ý như hooks cho property, hỗ trợ HTML5, và nhiều thay đổi lớn khác. Hãy cùng tìm hiểu chi tiết những tính năng mới và cách chúng có thể cải thiện trải nghiệm lập trình của bạn.
1. Hooks cho Property
Hooks cho property trong PHP 8.4 được lấy cảm hứng từ các ngôn ngữ phổ biến như Kotlin, C# và Swift. Tính năng này cho phép loại bỏ sự cần thiết phải viết các phương thức getter và setter cho thuộc tính, giúp thao tác với chúng trở nên dễ dàng hơn.
php
class User {
public function __construct(
public string $firstName,
public string $lastName
) {}
public string $fullName {
get => "{$this->firstName} {$this->lastName}";
set {
[$this->firstName, $this->lastName] = explode(' ', $value, 2);
}
}
}
$user1 = new User('tea', 'my');
echo $user1->fullName; // tea my
$user1->fullName = 'Trà My';
echo $user1->firstName; // Trà
echo $user1->lastName; // My
2. Khả Năng Hiển Thị Không Đối Xứng
Tính năng này cho phép các thuộc tính được thiết lập với phạm vi khác nhau cho việc đọc và ghi. Cú pháp mới sẽ là:
php
{read visibility} {set visibility}(set) {propertyType} $name;
Ví dụ:
php
class Book {
public function __construct(
public private (set) string $title,
public protected (set) string $author,
protected private (set) int $publicYear,
) {}
}
$b = new Book('PHP news', 'Tm', 2024);
echo $b->title; // PHP news
3. Thuộc Tính #[\Deprecated]
Bắt đầu từ PHP 8.4, bạn có thể sử dụng thuộc tính #[\Deprecated] để đánh dấu các phương thức hoặc thuộc tính không còn được khuyến khích sử dụng nữa. Điều này giúp lập trình viên dễ dàng theo dõi và duy trì mã nguồn.
php
class ExampleClass {
#[\Deprecated(message: "Không còn được sử dụng", since: "1.0.0")]
public function deprecatedMethod() {
echo "Đây là phương thức đã bị loại bỏ.";
}
}
4. Hỗ Trợ HTML5 Mới
PHP 8.4 giới thiệu trình phân tích cú pháp tương thích với HTML5, giúp nâng cao khả năng xử lý HTML trong ứng dụng của bạn.
5. Object API cho BCMath
Tính năng mới này cho phép làm việc với các phép toán số học chính xác cao thông qua các đối tượng, điều này giúp mã nguồn trở nên rõ ràng và dễ quản lý hơn.
6. Hàm Mới Đối Với Mảng
PHP 8.4 giới thiệu một số hàm mới hữu ích cho mảng:
array_find
: Tìm kiếm phần tử đầu tiên thỏa mãn điều kiện.array_find_key
: Tìm kiếm khóa phần tử đầu tiên thỏa mãn điều kiện.array_any
: Kiểm tra xem có ít nhất một phần tử thỏa mãn hay không.array_all
: Kiểm tra xem tất cả phần tử có thỏa mãn hay không.
7. Tính Năng PDO Driver Specific Subclasses
Giúp tăng cường tính rõ ràng và an toàn khi làm việc với các cơ sở dữ liệu qua PDO. Từ PHP 8.4, các driver như MySQL, SQLite có các lớp con riêng, giúp bạn dễ dàng sử dụng các tính năng đặc thù của từng driver.
8. Cú Pháp Mới Trong Việc Khởi Tạo Đối Tượng
PHP 8.4 cho phép sử dụng new MyClass()->method()
mà không cần dấu ngoặc đơn, giúp mã trở nên ngắn gọn và rõ ràng hơn.
9. Lazy Objects
Tính năng này giúp tối ưu hóa hiệu suất và quản lý bộ nhớ bằng cách trì hoãn việc khởi tạo đối tượng cho đến khi cần thiết, rất hữu ích cho các ứng dụng lớn.
10. Các Hàm Mới Cho Chuỗi Nhiều Byte
PHP 8.4 bổ sung các hàm hỗ trợ chuỗi nhiều byte như mb_trim
, mb_ltrim
cho các thao tác trên chuỗi.
11. JIT Compiler Mới
JIT Compiler sẽ được cải thiện về hiệu suất nhờ việc sử dụng IR Framework, giúp mã nguồn chạy nhanh hơn và hiệu quả hơn.
Kết Luận
PHP 8.4 mang đến nhiều cải tiến và tính năng mới thiết thực mà lập trình viên nào cũng không nên bỏ lỡ. Nâng cấp lên phiên bản mới này có thể mang lại những trải nghiệm tốt hơn trong công việc lập trình của bạn. Hãy chia sẻ ý kiến của bạn với chúng tôi trong phần bình luận!
Nguồn Tham Khảo
- PHP Official Release
- Laravel News
source: viblo