I search for a simple solution to get the case of an enum by a string. There are BackedEnums. For example:
<?php
enum Status: string
{
    case OK = "OK";
    case FAILED = "FAILED";
    ...
}
$status = Status::tryFrom("OK"); // or from("OK");
But I don't want to write the same word twice for getting that result. Is there a native way to get the case without having BackedEnums? I want something like:
<?php
enum Status
{
    case OK;
    case FAILED;
    ...
}
$status = Status::get("OK"); //returns Status::OK;
Or do I need to write my own funcionality for that? For example:
enum Status
{
    case OK;
    case FAILED;    
    public static function get(string $name): null|Status
    {
        $name = strtoupper(trim($name));
        if(empty($name))
            return null;
        foreach(Status::cases() as $status)
        {
            if($status->name == $name)
                return $status;
        }
        return null;
    }
}
Status::get("OK"); // -> Status::OK
Is there a better way to achieve the same?
 
     
     
     
    