Skip to content

Instantly share code, notes, and snippets.

@vielhuber
Created February 7, 2025 14:19
Show Gist options
  • Save vielhuber/265e2507ba16ceb5a6631bb8c29f494a to your computer and use it in GitHub Desktop.
Save vielhuber/265e2507ba16ceb5a6631bb8c29f494a to your computer and use it in GitHub Desktop.
enums #php
  • Verfügbar ab PHP 8.1
  • Definition einer festen Menge von möglichen Werten für einen bestimmten Typ
  • Verbessert Code-Lesbarkeit
enum UserRole: string
{
    case Admin = 'admin';
    case Benutzer = 'user';
    case Gast = 'guest';

    public function is_admin(): bool
    {
        if( $this === self::Admin ) { return true; }
        else { return false; }
    }
}

// usage
$role = UserRole::Benutzer;
echo $role->value; // "user"
echo '<br/>';
echo $role->is_admin() ? 'yes' : 'no'; // "no"

// loop
echo '<br/>';
foreach (UserRole::cases() as $cases__value) {
    echo $cases__value->name; // "Administrator", "Benutzer", "Gast"
    echo '<br/>';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment