Hướng dẫn what is enum in php - enum trong php là gì

https://gist.github.com/esdras-schonevald/71a6730e6191c5e9c053e2f65b839eec

declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}

class

MyException extends Exception {
    function
__construct(private MyExceptionCase $case){
       
match($case){
           
MyExceptionCase::InvalidMethod      =>    parent::__construct("Bad Request - Invalid Method", 400),
           
MyExceptionCase::InvalidProperty    =>    parent::__construct("Bad Request - Invalid Property", 400),
           
MyExceptionCase::Timeout            =>    parent::__construct("Bad Request - Timeout", 400)
        };
    }
}
// Testing my custom exception class
try {
    throw new
MyException(MyExceptionCase::InvalidMethod);
} catch (
MyException $myE) {
    echo
$myE->getMessage();  // Bad Request - Invalid Method
}

Các enum tương tự như các lớp và chia sẻ cùng các không gian tên như các lớp, giao diện và đặc điểm. Chúng cũng có thể tự động tải theo cùng một cách. Một enum xác định một loại mới, có số lượng giá trị pháp lý có thể cố định.

enum Suit
{
    case 
Hearts;
    case 
Diamonds;
    case 
Clubs;
    case 
Spades;
}
?>

Tuyên bố này tạo ra một loại được liệt kê mới có tên Suit, có bốn và chỉ bốn giá trị pháp lý: Suit::Hearts, Suit::Diamonds, Suit::ClubsSuit::Spades. Các biến có thể được gán cho một trong những giá trị pháp lý đó. Một hàm có thể được kiểm tra loại đối với một loại được liệt kê, trong trường hợp chỉ có thể truyền các giá trị của loại đó.

declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
0

Một bảng liệt kê có thể có các định nghĩa declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
1 hoặc nhiều hơn, không có tối đa. Một trường hợp không có trường hợp có hiệu lực về mặt cú pháp, nếu khá vô dụng.

Đối với các trường hợp liệt kê, các quy tắc cú pháp tương tự áp dụng cho bất kỳ nhãn nào trong PHP, xem hằng số.

Theo mặc định, các trường hợp không thực chất được hỗ trợ bởi một giá trị vô hướng. Đó là, Suit::Hearts không bằng declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
3. Thay vào đó, mỗi trường hợp được hỗ trợ bởi một đối tượng singleton của tên đó. Đó nghĩa là:

declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
4

Điều đó cũng có nghĩa là các giá trị enum không bao giờ là declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
5 hoặc declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
6 nhau, vì những so sánh đó không có ý nghĩa trên các đối tượng. Những so sánh đó sẽ luôn trả về declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
7 khi làm việc với các giá trị enum.declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
7
when working with enum values.

Loại trường hợp này, không có dữ liệu liên quan, được gọi là "trường hợp thuần túy". Một enum chỉ chứa các trường hợp thuần túy được gọi là enum thuần túy.

Tất cả các trường hợp thuần túy được thực hiện như các trường hợp của loại enum của họ. Loại enum được đại diện trong nội bộ như một lớp.

Tất cả các trường hợp có một tài sản chỉ đọc, declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
8, đó là tên nhạy cảm trường hợp của chính vụ án.

declare(strict_types=1);/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
    case
InvalidMethod;
    case
InvalidProperty;
    case
Timeout;
}
9

Sử dụng enum trong PHP là gì?

Liệt kê (hoặc enum) chủ yếu được sử dụng để gán tên cho các hằng số tích hợp, tên làm cho một chương trình dễ đọc và bảo trì.Trong PHP, các kiểu dữ liệu liệt kê có thể được triển khai bằng cách sử dụng và mở rộng các lớp trừu tượng.to assign names to integral constants, the names make a program easy to read and maintain. In PHP, enumeration datatypes can be implemented using and extending abstract classes.

Enum được sử dụng để làm gì?

Một liệt kê, hoặc enum, là một tên biểu tượng cho một tập hợp các giá trị.Việc liệt kê được coi là loại dữ liệu và bạn có thể sử dụng chúng để tạo các bộ hằng số để sử dụng với các biến và thuộc tính.to create sets of constants for use with variables and properties.

Enum với ví dụ là gì?

Loại Enum là một loại dữ liệu đặc biệt cho phép một biến trở thành một tập hợp các hằng số được xác định trước.Biến phải bằng một trong các giá trị đã được xác định trước cho nó.Các ví dụ phổ biến bao gồm các hướng la bàn (giá trị của Bắc, Nam, Đông và Tây) và những ngày trong tuần.a special data type that enables for a variable to be a set of predefined constants. The variable must be equal to one of the values that have been predefined for it. Common examples include compass directions (values of NORTH, SOUTH, EAST, and WEST) and the days of the week.

Ý nghĩa của enum là gì?

Enum là viết tắt cho "liệt kê", có nghĩa là "được liệt kê cụ thể".specifically listed".