PHP Tutorial.nl

Word een PHP expert!!!

Home » Enums

Enums in PHP: Leer over een set van gerelateerde waarden

In PHP 8.1 zijn Enumerations, kortweg Enums, geïntroduceerd als een nieuwe manier om een set gerelateerde waarden te definiëren. Enums bieden een duidelijke en type-veilige manier om met een vaste verzameling van waarden te werken, wat de leesbaarheid en betrouwbaarheid van je code verhoogt.

Wat zijn enums?

Enums zijn een soort speciale klasse die een beperkte set van mogelijke waarden vertegenwoordigen. Deze waarden worden constanten genoemd en zijn de enige toegestane waarden voor de Enum.

Een eenvoudig voorbeeld

Hieronder volgt een basisvoorbeeld van een enum in PHP. In dit voorbeeld definiëren we een enum genaamd Status met drie mogelijke waarden: Actief, Inactief, en Wachtend.

<?php
enum Status {
    case Actief;
    case Inactief;
    case Wachtend;
}

Gebruik van enums

Je kunt een enum gebruiken door bijvoorbeeld de naam van de enum en de tekstuele waarde ervan te combineren. In het voorbeeld maken we gebruikt van het switch statement.

<?php
$status = Status::Actief;

function verwerkStatus(Status $status) {
    switch ($status) {
        case Status::Actief:
            echo "Status is actief.";
            break;
        case Status::Inactief:
            echo "Status is inactief.";
            break;
        case Status::Wachtend:
            echo "Status is wachtend.";
            break;
    }
}

verwerkStatus($status); // Output: Status is actief.
?>

Backed enums

Backed Enums zijn een speciale soort enums waarbij de constanten een scalar waarde (int of string) hebben. Dit maakt ze nuttig voor het werken met gegevens die van of naar een database worden opgeslagen of worden ontvangen van een API.

<?php
enum Weekdag: string {
    case Maandag = 'ma';
    case Dinsdag = 'di';
    case Woensdag = 'wo';
    case Donderdag = 'do';
    case Vrijdag = 'vr';
    case Zaterdag = 'za';
    case Zondag = 'zo';
}

$dag = Weekdag::Vrijdag;
echo $dag->value; // Output: vr

Methodes in enums

Enums kunnen ook methodes bevatten, waardoor ze nog krachtiger en veelzijdiger worden.

<?php
enum Status {
    case Actief;
    case Inactief;
    case Wachtend;

    public function beschrijving(): string {
        return match($this) {
            self::Actief => 'De status is actief',
            self::Inactief => 'De status is inactief',
            self::Wachtend => 'De status is wachtend',
        };
    }
}

echo Status::Actief->beschrijving(); // Output: De status is actief

De voordelen

  1. Type-veiligheid: Enums zorgen ervoor dat alleen geldige waarden kunnen worden gebruikt.
  2. Leesbaarheid: Enums maken je code leesbaarder en beter te begrijpen.
  3. Onderhoudbaarheid: Wijzigingen in de lijst van mogelijke waarden zijn eenvoudig door te voeren op één plek.
  4. Consistentie: Het gebruik van enums voorkomt magische strings of nummers in je code.

Enums in PHP bieden een krachtige manier om met een vaste set van waarden te werken, waardoor je code type-veiliger, leesbaarder en beter te onderhouden wordt. Of je nu werkt met statussen, dagen van de week, of andere vaste sets van waarden, Enums kunnen je helpen om je code robuuster en minder foutgevoelig te maken. Met de introductie van Enums in PHP 8.1, heb je nu een modern en effectief hulpmiddel om de kwaliteit van je PHP-projecten te verbeteren.