QCon New York [13-15 tháng 6 năm 2023]. Tìm hiểu các phương pháp hay nhất từ các nhà phát triển cấp cao tại các công ty tiếp hợp sớm
PHP 8 - Các lớp và Enum
Thích In Dấu trang
28 tháng 11 năm 2022 26 phút đọc
qua
Deepak Vohra
xét bởi
Sergio De Simone
Viết cho InfoQ
Tham gia cộng đồng chuyên gia. Tăng khả năng hiển thị của bạn.Phát triển sự nghiệp của bạn Tìm hiểu thêm
Chìa khóa rút ra
- PHP8. 1 bổ sung hỗ trợ cho các thuộc tính chỉ đọc, làm cho các thuộc tính của lớp trở nên bất biến và không thể sửa đổi
- PHP8. 0 có một tính năng mới tự động thúc đẩy các tham số hàm tạo lớp thành các thuộc tính lớp tương ứng có cùng tên nếu các tham số hàm tạo được khai báo bằng công cụ sửa đổi khả năng hiển thị và không thuộc loại
8Fatal error: Uncaught Error: Cannot initialize readonly property A::$a from global scope
- PHP8. 1 thêm hỗ trợ cho các hằng số giao diện và lớp cuối cùng và cho các hằng số giao diện có thể bị ghi đè.
- Kể từ PHP 8. 0, hằng số
9 đặc biệt có thể được sử dụng trên các đối tượng và kể từ PHP 8. 1 đối tượng có thể được sử dụng trongFatal error: Uncaught Error: Cannot initialize readonly property A::$a from global scope
00$a->a = 2;
- PHP8. 1 bổ sung hỗ trợ cho kiểu liệt kê, hoặc gọi tắt là enum, để khai báo một tập hợp liệt kê các giá trị tương tự, mặc dù không giống với, đối tượng lớp
Bài viết này là một phần của loạt bài viết "PHP 8. x". Bạn có thể đăng ký để nhận thông báo về các bài viết mới trong loạt bài này qua RSS
PHP tiếp tục là một trong những ngôn ngữ kịch bản được sử dụng rộng rãi nhất trên web với 77. 3% của tất cả các trang web có ngôn ngữ lập trình phía máy chủ được biết là sử dụng nó theo w3tech. PHP 8 mang đến nhiều tính năng mới và những cải tiến khác mà chúng ta sẽ khám phá trong loạt bài viết này
- [eBook] Hiểu về Kubernetes [Phiên bản cập nhật]
Nội dung được tài trợ có liên quan
Nhà tài trợ liên quan
Điện toán đám mây Akamai dựa trên Linode. Một nền tảng phân phối rộng rãi và thân thiện với nhà phát triển để xây dựng, chạy và bảo mật khối lượng công việc trên đám mây. Bắt đầu dùng thử miễn phí ngay hôm nay
Trong bài viết này, chúng ta sẽ xem xét các tính năng mới của PHP 8 liên quan đến các lớp, bao gồm
- Enums, một lớp trên các lớp để chỉ định danh sách liệt kê các giá trị có thể có cho một loại
- Công cụ sửa đổi
01 mới cho thuộc tính lớp, làm cho thuộc tính không thể sửa đổi sau khi khởi tạo$a->a = 2;
- Quảng cáo tham số hàm tạo, hữu ích để tự động gán giá trị tham số hàm tạo cho một thuộc tính đối tượng
Thuộc tính lớp chỉ đọc
Các nhà phát triển đã tìm cách làm cho các thuộc tính của lớp trở nên bất biến đối với các trường hợp sử dụng, chẳng hạn như các đối tượng giá trị. Thông thường, các thuộc tính phải được khởi tạo một lần, thường là trong một hàm tạo và không bao giờ được sửa đổi. Một giải pháp thay thế đã được sử dụng là đặt một thuộc tính ở chế độ riêng tư và chỉ khai báo một phương thức getter công khai cho nó. Điều này làm giảm phạm vi sửa đổi nhưng không loại trừ sửa đổi. Để tạo bất biến thuộc tính lớp, PHP 8. 1 thêm hỗ trợ cho các thuộc tính chỉ đọc với điều kiện thuộc tính phải được nhập. Một thuộc tính đã nhập thực sự có thể được khai báo chỉ đọc với từ khóa chỉ đọc mới. Tập lệnh sau khai báo một thuộc tính
$a->a = 2;
01 thuộc loại $a->a = 2;
03được gọi là $a->a = 2;
04. Giá trị của thuộc tính chỉ được đặt một lần trong hàm tạo. Tập lệnh xuất giá trị 1 khi chạy.