/ / Khám phá các tính năng mới nhất trong PHP 8.3

Khám phá các tính năng mới nhất trong PHP 8.3

php plush elephant on a macbook pro with php storm running on it 1

Kể từ tháng 11 năm 2023, PHP 8.3 sẽ là phiên bản mới nhất của ngôn ngữ lập trình phát triển web. Với nhiều cải tiến khác nhau dành cho người lập trình (chẳng hạn như kiểu kết hợp, thuộc tính chỉ đọc và thông báo lỗi được cải thiện), việc tận dụng chúng đồng nghĩa với việc bạn phải nâng cấp.


Dưới đây là tổng quan về các tính năng mới của PHP, với một số bước về cách triển khai chúng, sử dụng các ví dụ thực tế.


1. Các loại liên kết và các loại giao lộ

Trong PHP 8.3, một bản nâng cấp đáng chú ý đòi hỏi phải triển khai các kiểu giao nhau và kiểu kết hợp. Các loại như vậy cho phép các lập trình viên chỉ định các tham số và trả về các loại dưới dạng kết hợp nhiều loại khác nhau, làm tăng tính linh hoạt và độ bền của mã.

Sử dụng ký hiệu đường ống (|), các kiểu kết hợp cho phép xác định thông số của một tham số hoặc trả về giá trị với nhiều kiểu. Để minh họa, giả sử bạn có một hàm có thể chấp nhận đầu vào là chuỗi hoặc số nguyên; bạn có thể xác định tham số của nó theo cách sau:

 function foo(int|string $param) {  

Mặt khác, với các loại giao nhau, bạn có thể xác định giá trị trả về hoặc tham số dưới dạng kết hợp của hai hoặc nhiều loại. Do đó, giá trị trả về hoặc tham số phải đáp ứng tất cả các loại trong giao lộ. Hãy xem xét một ví dụ:

 function bar(ArrayAccess&Countable $param): int {  

Trong ví dụ này, đối số phải là một đối tượng thực hiện cả hai truy cập mảngđếm được giao diện và hàm phải trả về một số nguyên.

Loại kết hợp được xác định bằng ký hiệu ống (|) và cho phép bạn chỉ định nhiều loại mà một tham số hoặc giá trị trả về có thể có.

Mặt khác, các loại giao lộ cho phép bạn xác định một tham số hoặc giá trị trả về dưới dạng giao điểm của hai hoặc nhiều loại. Điều này có nghĩa là các tham số hoặc giá trị trả về phải thỏa mãn tất cả các loại giao điểm.

2. Thuộc tính chỉ đọc

Việc bổ sung các thuộc tính chỉ đọc trong PHP 8.3 là một khía cạnh hữu ích khác. Bạn có thể khai báo các thuộc tính là chỉ đọc bằng cách sử dụng thuộc tính này, điều này ngăn các thay đổi tiếp theo đối với giá trị của chúng và chỉ cho phép khởi tạo một lần.

Bạn có thể sử dụng chức năng này để tăng tính bảo mật và độ tin cậy cho mã của mình bằng cách ngăn chặn sự thay đổi không chủ ý đối với dữ liệu quan trọng.

Ví dụ PHP 8.3 này cho thấy cách xác định thuộc tính chỉ đọc.

 Class MyClass
{
Public read_only string $name;
Public function__construct(string $title)
{$this->title = $title;
  }
}

Trong ví dụ đã đề cập ở trên, chức năng Sự vật() { [native code] } khởi tạo thuộc tính $name chỉ một lần. Nó chỉ có thể được chỉ định dưới dạng chức năng chỉ đọc.

3. Thông báo lỗi nâng cao

Khi xảy ra lỗi nghiêm trọng trong tập lệnh PHP, thuộc tính Thông báo lỗi nâng cao trong PHP 8.3 cung cấp các thông báo lỗi hữu ích và chuyên sâu hơn. Các nhà phát triển có thể nhanh chóng xác định và giải quyết các vấn đề về mã bằng tính năng này.

Khi truy cập một chỉ mục mảng không xác định, Thông báo lỗi nâng cao đang hoạt động. Trong các bản phát hành trước đây của PHP, bạn sẽ nhận được thông báo lỗi như sau:

 Notice: Undefined offset: 4 in /path/to/file.php on line 3 

Thông báo lỗi này không nói nhiều về vấn đề bắt nguồn từ đâu. Tuy nhiên, với Thông báo lỗi nâng cao của PHP 8.3, bạn sẽ nhận được thông báo lỗi sâu hơn sau:

 Fatal error: Uncaught Error: Cannot use string offset as an array in /path/to/file.php:3 Stack trace:  

Thông báo lỗi này cung cấp dấu vết ngăn xếp để hỗ trợ bạn xác định nguồn gốc của sự cố và cho bạn biết rằng bạn đang cố gắng sử dụng phần bù chuỗi dưới dạng một mảng (một trong nhiều hàm thao tác văn bản hữu ích trong PHP). Ngoài ra, nó thông báo cho bạn biết rằng bạn đang cố gắng truy cập một giá trị null từ một phần bù mảng.

Sẵn sàng cho PHP 8.3

Chuyển lên PHP 8.3 là điều then chốt đối với các nhà thiết kế dựa trên những điểm nổi bật và cải tiến gần đây nhất của nó. Giới thiệu các kiểu hợp và giao trong PHP 8.3 giúp các lập trình viên xử lý các kiểu dữ liệu phức tạp dễ dàng hơn.

Bằng cách ngăn chặn những thay đổi không chủ ý đối với dữ liệu quan trọng, thuộc tính chỉ đọc cũng làm tăng độ tin cậy của mã. Nói chung, việc nâng cấp lên PHP 8.3 cho phép các nhà phát triển truy cập vào các công cụ mạnh mẽ và dễ thích ứng hơn để tạo các ứng dụng web hiệu suất cao với các khung như Laravel.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *