enderive / enum
Enum implementation for php below 8.1
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/enderive/enum
Requires (Dev)
- php: ^7.4 || ^8.0
- phpstan/phpstan: 2.0.x-dev
- phpunit/phpunit: 9.6.*
- psalm/phar: dev-master
- squizlabs/php_codesniffer: 4.0.x-dev
README
Class designed to behave as close to native php enum as possible.
use Enderive\Enum; /** * Pure enum * * @method static UserStatus ADMIN() * @method static UserStatus MEMBER() * @method static UserStatus GUEST() */ class UserStatus extends Enum {} /** * Backed enum */ class UserStatus extends Enum { private const ADMIN = 1; private const MEMBER = 2; private const GUEST = 3; } UserStatus::ADMIN(); UserStatus::from(1); UserStatus::tryFrom(1); UserStatus::cases(); // Enums are singletons UserStatus::ADMIN() === UserStatus::ADMIN() // => true $status = UserStatus::from(1); $status->name // "ADMIN" $status->value // 1