PHP hiện hỗ trợ liệt kê gốc với việc phát hành phiên bản 8. Mục tiêu của gói trình soạn thảo archtechx/enums là cải thiện khả năng làm việc với enums bằng cách tăng cường các tính năng gốc
Bạn có thể thêm các tiện ích sau vào Enums của mình trong bất kỳ dự án PHP nào bằng cách sử dụng các đặc điểm thư viện này
- Các trường hợp có thể được gọi để lấy giá trị của Enum được hỗ trợ
- tên. Trả về danh sách tên trường hợp của enum
- giá trị. Cung cấp một mảng các giá trị trường hợp của enum
- Trả về một mảng kết hợp của tên trường hợp và giá trị cho các tùy chọn
Dưới đây là một số hình minh họa từ tệp readme của gói dựa trên các tính năng đã nói ở trên
Đây là cách _14 đặc điểm hoạt động đầu tiên
_10Đây là cách lấy tên trường hợp từ enums tiếp theo
________Đầu tiênĐặc điểm _15 có một mảng trả về bao gồm các giá trị enum tiềm năng
1use ArchTech\Enums\Values; 2 3enum TaskStatus: int 4{ 5 use Values; 6 7 case INCOMPLETE = 0; 8 case COMPLETED = 1; 9 case CANCELED = 2;10}11 12TaskStatus::values[]; // [0, 1, 2]
Đặc điểm _16 cuối cùng xuất ra một mảng tên và giá trị kết hợp
1use ArchTech\Enums\Options; 2 3enum TaskStatus: int 4{ 5 use Options; 6 7 case INCOMPLETE = 0; 8 case COMPLETED = 1; 9 case CANCELED = 2;10}11 12TaskStatus::options[];13// ['INCOMPLETE' => 0, 'COMPLETED' => 1, 'CANCELED' => 2]
Trên GitHub, bạn có thể xem mã nguồn, nhận hướng dẫn cài đặt chi tiết và tìm hiểu thêm về gói này
Phát hành PHP 8. 1 mang lại kiểu liệt kê riêng cho PHP. Gói trình soạn thảo archtechx/enums được xây dựng dựa trên các tính năng gốc và nhằm mục đích làm việc với enums trở nên đáng yêu hơn
Sử dụng các đặc điểm thư viện này, bạn có thể thêm các tiện ích sau vào Enums của mình trong bất kỳ dự án PHP nào
- Invokable cases - lấy giá trị của một Enum được hỗ trợ bằng cách gọi nó
- Tên - trả về danh sách tên trường hợp trong enum
- Giá trị - trả về danh sách các giá trị trường hợp trong enum
- Tùy chọn - trả về một mảng kết hợp gồm các tên và giá trị trường hợp
Với các tính năng trên, đây là một số ví dụ từ tệp readme của gói
Đầu tiên, đây là cách hoạt động của đặc điểm InvokableCases
1// Invokable
2use ArchTech\Enums\InvokableCases;
3
4enum TaskStatus: int
5{
6 use InvokableCases;
7
8 case INCOMPLETE = 0;
9 case COMPLETED = 1;
10 case CANCELED = 2;
11}
12
13TaskStatus::INCOMPLETE[]; // 0
14TaskStatus::COMPLETED[]; // 1
15TaskStatus::CANCELED[]; // 2
Tiếp theo, đây là cách lấy tên trường hợp từ enums
1use ArchTech\Enums\Names;
2
3enum TaskStatus: int
4{
5 use Names;
6
7 case INCOMPLETE = 0;
8 case COMPLETED = 1;
9 case CANCELED = 2;
10}
11
12TaskStatus::names[];
13// ['INCOMPLETE', 'COMPLETED', 'CANCELED']
Đặc điểm Values
có thể trả về một mảng các giá trị enum có thể
1use ArchTech\Enums\Values;
2
3enum TaskStatus: int
4{
5 use Values;
6
7 case INCOMPLETE = 0;
8 case COMPLETED = 1;
9 case CANCELED = 2;
10}
11
12TaskStatus::values[]; // [0, 1, 2]
Cuối cùng, đặc điểm Options
trả về một mảng tên và giá trị kết hợp
1use ArchTech\Enums\Options;
2
3enum TaskStatus: int
4{
5 use Options;
6
7 case INCOMPLETE = 0;
8 case COMPLETED = 1;
9 case CANCELED = 2;
10}
11
12TaskStatus::options[];
13// ['INCOMPLETE' => 0, 'COMPLETED' => 1, 'CANCELED' => 2]
Bạn có thể tìm hiểu thêm về gói này, nhận hướng dẫn cài đặt đầy đủ và xem mã nguồn trên GitHub