PHP 8.3 Enums in Laravel: Casts, Routes &amp; Validation | Mohamed Said        [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com) [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles  ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

       [  ](https://github.com/EG-Mohamed)       

 [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

  [ home ](https://msaied.com)    [ articles ](https://msaied.com/articles)    Typed PHP 8.3 Enums as Eloquent Casts, Route Parameters, and Validation Rules        On this page       1. [  Why Enums Deserve More Than a Simple Cast ](#why-enums-deserve-more-than-a-simple-cast)
2. [  Defining a Rich Backed Enum ](#defining-a-rich-backed-enum)
3. [  Eloquent: Beyond the Basic Cast ](#eloquent-beyond-the-basic-cast)
4. [  Route Model Binding with Enums ](#route-model-binding-with-enums)
5. [  A Reusable EnumRule Validation Rule ](#a-reusable-codeenumrulecode-validation-rule)
6. [  Serialising Enums in API Resources ](#serialising-enums-in-api-resources)
7. [  PHP 8.3 Specifics Worth Knowing ](#php-83-specifics-worth-knowing)
8. [  Key Takeaways ](#key-takeaways)

  ![Typed PHP 8.3 Enums as Eloquent Casts, Route Parameters, and Validation Rules](https://cdn.msaied.com/583/7301900aac0f2ec5d1347df11ce92188.png)

  #laravel   #php8.3   #enums   #eloquent   #validation  

 Typed PHP 8.3 Enums as Eloquent Casts, Route Parameters, and Validation Rules 
===============================================================================

     23 Aug 2026      1 min read    ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said  

       Table of contents

1. [  01   Why Enums Deserve More Than a Simple Cast  ](#why-enums-deserve-more-than-a-simple-cast)
2. [  02   Defining a Rich Backed Enum  ](#defining-a-rich-backed-enum)
3. [  03   Eloquent: Beyond the Basic Cast  ](#eloquent-beyond-the-basic-cast)
4. [  04   Route Model Binding with Enums  ](#route-model-binding-with-enums)
5. [  05   A Reusable EnumRule Validation Rule  ](#a-reusable-codeenumrulecode-validation-rule)
6. [  06   Serialising Enums in API Resources  ](#serialising-enums-in-api-resources)
7. [  07   PHP 8.3 Specifics Worth Knowing  ](#php-83-specifics-worth-knowing)
8. [  08   Key Takeaways  ](#key-takeaways)

 Why Enums Deserve More Than a Simple Cast
-----------------------------------------

Most teams stop at `protected $casts = ['status' => StatusEnum::class]` and call it done. That covers the happy path, but enums can do far more: they can own their own labels, drive route model binding, and back custom validation rules — all without a single string literal leaking into your domain logic.

### Defining a Rich Backed Enum

```php
