Hướng dẫn php enum helpers - php enum helpers

Việc phát hành PHP 8.1 mang các liệt kê bản địa cho PHP.Gói Composer Archtechx/Enums xây dựng dựa trên các tính năng gốc và nhằm mục đích làm cho việc làm việc với Enums đá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 đây vào Enums của mình trong bất kỳ dự án PHP nào:

  • Các trường hợp có thể mời - Nhận giá trị của một enum được hỗ trợ bằng cách gọi nó - get the value of a backed Enum by invoking it
  • Tên - Trả lại danh sách các tên trường hợp trong enum - return a list of case names in the enum
  • Giá trị - Trả về danh sách các giá trị trường hợp trong enum - return a list of case values in the enum
  • Tùy chọn - Trả về một mảng kết hợp của tên và giá trị trường hợp - return an associative array of case names and values

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 thức hoạt động của 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 kết hợp các tên và giá trị:

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.