enderive / enum
低于8.1版本的PHP的枚举实现
1.0.1
2024-02-03 10:44 UTC
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
设计为尽可能接近原生PHP枚举的类。
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