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

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article
Mailbox for Laravel: Preview and Test Rendered Email image

Mailbox for Laravel: Preview and Test Rendered Email

Read article
Count Worker Crashes as Job Exceptions in Laravel 13.34 image

Count Worker Crashes as Job Exceptions in Laravel 13.34

Read article