Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
••••••••••••••••••••
Intelligence View
⚡ tsecurity.de Intelligence

PHP 8 News: Enumerations

Enumerations were introduced as a new feature in PHP 8.1. Enumerations, often referred to as enums, provide a way to define a set of named constants in PHP.…

Beitrag
0
Seite
0
↗ Quelle (dev.to)
Social ReaktionenReagiere als Erste:r — dein Feedback zählt!

Enumerations were introduced as a new feature in PHP 8.1. Enumerations, often referred to as enums, provide a way to define a set of named constants in PHP. They are a data type that consists of a fixed set of named values, which cannot be changed after declaration.



Defining an Enumeration:



To define an enumeration, you use the enum keyword followed by the name of the enumeration and a list of comma-separated constant values within braces {}.




enum Status {
case Pending;
case Approved;
case Rejected;
}






Using Enumerations:



Once you've defined an enumeration, you can use it just like any other data type in PHP.




$status = Status::Pending;






Accessing Enumerations:



You access enumeration values using the double colon syntax

::.




$status = Status::Pending;






Type Safety:



Enumerations provide type safety. This means that if a function or method expects an enumeration value, passing anything else will result in a type error.




function processStatus(Status $status) {
// Processing code
}

$status = Status::Approved;
processStatus($status); // Valid

$invalidStatus = 'Pending';
processStatus($invalidStatus); // Type error






Iteration:



You can iterate over the values of an enumeration using a foreach loop.




foreach (Status::cases() as $status) {
echo $status;
}






Comparison:



Enumerations can be compared for equality using the === operator.




$status1 = Status::Pending;
$status2 = Status::Pending;

if ($status1 === $status2) {
echo "Statuses are equal";
}






Backing Values:



By default, each constant in an enumeration has an implicit integer value starting from 0. However, you can explicitly assign values to the constants.




enum Status {
case Pending = 1;
case Approved = 2;
case Rejected = 3;
}






Additional Methods:



Enumerations support additional methods like name(), value(), keys(), values(), ordinal(), and jsonSerialize(), which provide various functionalities like getting the name of the constant, its value, keys, values, ordinal position, and serialization respectively.



Enumerations in PHP 8.1 provide a convenient and type-safe way to define a set of related constants, improving code readability, maintainability, and reducing the likelihood of errors related to using incorrect constant values.






More examples



Basic Enumeration:




enum Direction {
case North;
case South;
case East;
case West;
}

$direction = Direction::North;
echo $direction; // Output: Direction::North






Enumeration with Backing Values:




enum Priority {
case Low = 1;
case Medium = 5;
case High = 10;
}

$priority = Priority::High;
echo $priority->value(); // Output: 10






Type Safety:




function processPriority(Priority $priority) {
echo "Processing priority: $priority";
}

$priority = Priority::Medium;
processPriority($priority); // Valid

$invalidPriority = 'Low';
processPriority($invalidPriority); // Type error






Iteration:




foreach (Priority::cases() as $priority) {
echo $priority . "\n";
}
// Output:
// Priority::Low
// Priority::Medium
// Priority::High






Comparison:




$priority1 = Priority::Low;
$priority2 = Priority::Low;

if ($priority1 === $priority2) {
echo "Priorities are equal\n";
}
// Output: Priorities are equal






Using Methods:




$priority = Priority::Medium;
echo $priority->name() . "\n"; // Output: Medium
echo $priority->ordinal() . "\n"; // Output: 2
echo json_encode($priority) . "\n"; // Output: "2"






These examples showcase different aspects of enumerations in PHP 8.1, including defining enums, assigning backing values, ensuring type safety, iterating over enum values, comparing enum values, and utilizing enumeration methods for various operations.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten PHP 8 News: Enumerations

Thematisch verwandte Begriffe: News, Enumerations · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag