|null $aliasMap */ static $aliasMap = null; if($aliasMap === null){ $aliasMap = []; foreach(self::cases() as $case){ foreach($case->getAliases() as $alias){ $aliasMap[$alias] = $case; } } } return $aliasMap[mb_strtolower($name)] ?? null; } /** * @return string[] * @phpstan-return list */ public function getAliases() : array{ return match($this){ self::STARTUP => ["startup"], self::POSTWORLD => ["postworld"] }; } }