Laravel Packages

Laravel Enum Package for Generating enum-php Classes

Published Updated
Laravel Enum Package for Generating enum-php Classes image

Laravel Enum by Andrea Marco Sartori is a Laravel package for generating enum classes using enum-php.

As shown in the README, let’s say you wanted to build a Status enum. You can use the following command to generate the class and keys:

php artisan make:enum Status 'IN_PROGRESS|COMPLETE|FAILED'

Will make the following Enum class:

<?php
 
namespace App\Enums;
 
use Rexlabs\Enum\Enum;
 
/**
* The Status enum.
*
* @method static self IN_PROGRESS()
* @method static self COMPLETE()
* @method static self FAILED()
*/
class Status extends Enum
{
const IN_PROGRESS = 'in_progress';
const COMPLETE = 'complete';
const FAILED = 'failed';
}

Further, here’s how you define keys and map them to human-readable names:

php artisan make:enum Status 'IN_PROGRESS=1=In progress|COMPLETE=2=Complete|FAILED=3=Failed'

Which generates the following class:

<?php
 
namespace App\Enums;
 
use Rexlabs\Enum\Enum;
 
/**
* The Status enum.
*
* @method static self IN_PROGRESS()
* @method static self COMPLETE()
* @method static self FAILED()
*/
class Status extends Enum
{
const IN_PROGRESS = 1;
const COMPLETE = 2;
const FAILED = 3;
 
/**
* Retrieve a map of enum keys and values.
*
* @return array
*/
public static function map() : array
{
return [
static::IN_PROGRESS => 'In progress',
static::COMPLETE => 'Complete',
static::FAILED => 'Failed',
];
}
}

You can learn more about this package, get full installation instructions, and view the source code on GitHub at cerbero90/laravel-enum.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
A simple form builder that stays out of your way image

A simple form builder that stays out of your way

Read article
Laravel AI: Trace Agent Runs With Lifecycle Events image

Laravel AI: Trace Agent Runs With Lifecycle Events

Read article
Laravel AI: Get Raw HTTP Responses and Rate Limits image

Laravel AI: Get Raw HTTP Responses and Rate Limits

Read article
Agent Run Observability in Laravel AI SDK 0.11 image

Agent Run Observability in Laravel AI SDK 0.11

Read article
Debounced Queued Event Listeners in Laravel image

Debounced Queued Event Listeners in Laravel

Read article
Statamic Mailables Viewer Previews Laravel Emails in the Control Panel image

Statamic Mailables Viewer Previews Laravel Emails in the Control Panel

Read article