1, self::DESTRUCTIVE => 2, self::PROHIBITED => 3, ); /** * Rank of a tier for comparisons. An unknown tier ranks as prohibited, so mistakes fail closed. * * @param string $tier Tier. * @return int */ public static function rank( string $tier ): int { return self::ORDER[ $tier ] ?? self::ORDER[ self::PROHIBITED ]; } }