src/Enum/Admin/RolesEnum.php line 7
<?phpnamespace App\Enum\Admin;use App\Enum\Common\EnumToArray;enum RolesEnum: string{use EnumToArray;case ROLE_SUPER_ADMIN = 'ROLE_SUPER_ADMIN';case ROLE_ADMIN = 'ROLE_ADMIN';case ROLE_USER = 'ROLE_USER';public function weight(): int{return match($this) {self::ROLE_SUPER_ADMIN => 1000,self::ROLE_ADMIN => 100,self::ROLE_USER => 10,};}public static function sortTextRoles(array &$textRoles): void{usort($textRoles, static function (string $textRole1, string $textRole2) {$role1 = self::tryFrom($textRole1);$role2 = self::tryFrom($textRole2);if ($role1 === null && $role2 === null) {return strcmp($textRole1, $textRole2);}if ($role1 === null) {return 1;}if ($role2 === null) {return -1;}if ($role1->weight() < $role2->weight()) {return -1;}if ($role1->weight() > $role2->weight()) {return 1;}return 0;});}}