An open API service indexing awesome lists of open source software.

https://github.com/yungts97/enum-helpers

A simple PHP package that provided some helper functions for PHP Enumeration.
https://github.com/yungts97/enum-helpers

enum enumeration helper-functions php php-library php-package

Last synced: 30 days ago
JSON representation

A simple PHP package that provided some helper functions for PHP Enumeration.

Awesome Lists containing this project

README

          

PHP Enum Helpers















`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:
```bash
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.
```php
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.
```php
Status::Pending() // "pending"
```

### 2. Contains
This trait allows checking whether the value exists in Enum. Agrument accepted `UnitEnum`, `BackedEnum`, `String` and `Int`.
```php
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).
```php
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](LICENSE.md) for more information.