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.
- Host: GitHub
- URL: https://github.com/yungts97/enum-helpers
- Owner: yungts97
- License: mit
- Created: 2022-12-03T15:14:29.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-07T08:51:20.000Z (about 3 years ago)
- Last Synced: 2026-01-14T13:55:10.870Z (about 1 month ago)
- Topics: enum, enumeration, helper-functions, php, php-library, php-package
- Language: PHP
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
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.