yungts97 / enum-helpers
This is a package that provided some helper functions for PHP Enumeration.
v1.0.0
2022-12-03 15:23 UTC
Requires
- php: ^8.1
Requires (Dev)
- phpunit/phpunit: ^9.5
README
yungts97/enum-helpers
is a PHP package that extended functionality of the PHP Enumeration.
📦 Environment Requirements
PHP
: ^8.1
🚀 Installation
You can install the package via composer:
composer require yungts97/enum-helpers
✨ How to use?
This package is very simple and easy to use. To extend the features of enum. You can add the trait in your enum.
use Yungts97\EnumHelpers\Traits\Invokable; use Yungts97\EnumHelpers\Traits\Contains; use Yungts97\EnumHelpers\Traits\Random; enum Status: string { use Invokable, Contains, Random; // add it here case Draft = 'draft'; case Submitted = 'submitted'; case Pending = 'pending'; case Approved = 'approved'; case Rejected = 'rejected'; }
1. Invokable
This trait allows Enum to be invokable.
Status::Pending() // "pending"
2. Contains
This trait allows checking whether the value exists in Enum. Agrument accepted UnitEnum
, BackedEnum
, String
and Int
.
Status::contains('pending') // true Status::contains(Status::Draft) // true Status::contains(Status::Refund) // false
3. Random
This trait allows Enum to return random value(s).
Status::random() // Status::Draft Status::random(1) // Status::Draft Status::random(2) // [Status::Draft, Status::Approved]
📃 License
The MIT License (MIT). Please see License File for more information.