yungts97/enum-helpers
is a PHP package that extended functionality of the PHP Enumeration.
PHP
: ^8.1
You can install the package via composer:
composer require yungts97/enum-helpers
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';
}
This trait allows Enum to be invokable.
Status::Pending() // "pending"
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
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]
The MIT License (MIT). Please see License File for more information.