yungts97/enum-helpers

This is a package that provided some helper functions for PHP Enumeration.

v1.0.0 2022-12-03 15:23 UTC

This package is auto-updated.

Last update: 2024-05-07 11:54:42 UTC


README

68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f79756e67747339372f656e756d2d68656c706572733f636f6c6f723d323442444343 68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f79756e67747339372f656e756d2d68656c70657273 68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f79756e67747339372f656e756d2d68656c706572733f636f6c6f723d666636396234 badge.svg

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.