PHP code example of convoflo / ordered-enum

1. Go to this page and download the library: Download convoflo/ordered-enum library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

convoflo / ordered-enum example snippets


use \Convoflo\OrderedEnum\OrderedBackedEnum;
use \Convoflo\OrderedEnum\OrderedTrait;

enum UserRole: string implements OrderedBackedEnum
{
    use OrderedTrait;

    case Admin = 'admin';
    case Regular = 'user';
    case Basic = 'basic';

    public static function order(): array
    {
        return [self::Basic, self::Regular, self::Admin];
    }
}

$showAdminConsole = $userRole->greaterThan(UserRole::Regular);
$showMinimalInterface = $userRole->lessThan(UserRole::Regular);

$isNotBasic = $userRole->greaterThanOrEqualsTo(UserRole::Regular);
$isNotAdmin = $userRole->lessThanOrEqualsTo(UserRole::Regular);

UserRole::min(UserRole::Basic, UserRole::Admin); // UserRole::Basic
UserRole::max(UserRole::Basic, UserRole::Admin); // UserRole::Admin

$highestRole = UserRole::max(); // UserRole::Admin
$lowestRole = UserRole::min(); // UserRole::Basic