Working with Enums
Tips and handy utilities for working with enums in your Laravel project
Making your Enum invokable
<?php
namespace App\Enums;
use Illuminate\Support\Arr;
enum Expenses
{
case CREATE_EXPENSE;
case DELETE_EXPENSE;
case APPROVE_EXPENSE;
public static function __callStatic($name, $args)
{
$case = Arr::first(static::cases(), fn($case) => $case->name === $name);
throw_unless($case, sprintf('Undefined Enum Case %s::%s',static::class,$name));
return empty($case->value) ? $case->name : $case->value;
}
}
Invokable Enum with Backed Enums
Make a Trait
Enum methods
Returning an icon component for a case
Returning a long block of text
Last updated