chaim-chv / filament-enum-plural-label
Plural label contract for PHP enums used with Laravel and Filament
Package info
github.com/chaim-chv/filament-enum-plural-label
pkg:composer/chaim-chv/filament-enum-plural-label
v1.0.1
2026-01-14 03:13 UTC
Requires
- php: ^8.1
README
A small Laravel + Filament helper library that allows PHP enums to expose a plural label for use in Filament resources, navigation, and tables.
This package provides a single contract. It does not register hooks, override Filament behavior, or add magic.
Compatibility
- PHP 8.1+
- Laravel 10+
- Filament v3+
Installation
composer require chaim-chv/filament-enum-plural-label
Usage
Define an enum that implements the contract:
use FilamentEnumPluralLabel\Contracts\HasPluralLabel; enum UserRole: string implements HasPluralLabel { case Admin = 'admin'; case Editor = 'editor'; case Viewer = 'viewer'; public function getPluralLabel(): string { return match ($this) { self::Admin => 'Administrators', self::Editor => 'Editors', self::Viewer => 'Viewers', }; } }
Filament example
public static function getPluralModelLabel(): string { $role = UserRole::tryFrom(request('role')); if ($role instanceof HasPluralLabel) { return $role->getPluralLabel(); } return 'Users'; }
@chaim-chv © 2026