laravel-enums

Model domain states with type-safe backed enums in Laravel applications.

Updated Apr 7, 2026
One-click install
npx skills add https://github.com/Sivanwol/sabo-platfom --skill laravel-enums-sivanwol
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: laravel-enums
Source: https://github.com/Sivanwol/sabo-platfom/tree/main/.ai/skills/laravel-enums
Command: npx skills add https://github.com/Sivanwol/sabo-platfom --skill laravel-enums-sivanwol

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Enums provide type-safe, finite sets of values in Laravel apps, reducing magic strings and aligning domain rules.

Core Features & Use Cases

  • Always use backed enums (string or int) to model finite states and business-critical values.
  • Enums with traits, labels, and embedded behavior to encapsulate related logic.
  • UI helpers and usage in models, DTOs, and validation through casts and enum-based validation.

Quick Start

Define a backed enum in App\Enums and reference it in models, DTOs, and validation.

Frequently Asked Questions about laravel-enums

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use backed enums in Laravel for type-safe domain modeling?

Backed enums in Laravel provide type-safe, finite value sets to model domain states and business-critical values, reducing magic strings. You define them in the App\Enums namespace and apply them across models, DTOs, and API contracts to align domain rules.

What's the best way to replace magic strings in Laravel validation rules?

The best way to replace magic strings in Laravel validation is using string-backed enums with embedded behavior. Enum-based validation rules enforce finite value sets, ensuring data integrity and aligning validation logic directly with your domain states.

Can Laravel enums include traits and custom labels for UI helpers?

Yes, Laravel backed enums can use traits to encapsulate related logic and provide custom labels. These labels function as UI helpers, allowing you to cleanly separate display logic from core domain behavior within your enum definitions.

When should I use string-backed enums versus int-backed enums in Laravel?

Use string-backed enums when you need human-readable values for API contracts and database records, and int-backed enums for compact storage. Both enforce strong typing and finite value sets for modeling domain states in Laravel applications.

How do DTOs work with Laravel backed enums for API contracts?

DTOs utilize Laravel backed enums to enforce type-safe API contracts by validating data against finite value sets. This ensures incoming requests match predefined domain states, preventing invalid data from entering your application logic.