Articles | Mohamed Said      [Skip to content](#main)  [ ![](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png) Mohamed SaidLaravel Backend Engineer ](https://msaied.com) - [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [About](https://msaied.com#about)

           [  Contact](https://msaied.com#contact) Menu 

Menu
----

Close 

 - [HomeStart here](https://msaied.com)
- [ProjectsCase studies](https://msaied.com/projects)
- [ArticlesEngineering notes](https://msaied.com/articles)
- [CertificatesCredentials](https://msaied.com/certificates)
- [AboutHow I work](https://msaied.com#about)
- [ContactGet in touch](https://msaied.com#contact)

  [Start a conversation](https://msaied.com#contact) [WhatsApp](https://wa.me/201094619204) [Email](mailto:hello@msaied.com) 

  1. [Home](https://msaied.com)
2. /
3. Articles

  Engineering library
====================

 10 articles by Mohamed Said on Laravel, PHP, databases, APIs and infrastructure, written from production work.

 Search articles ⌕×Search 

    Topic hubs
----------

←→

- [AI48 articles](https://msaied.com/articles?category=ai&search=enums&sort=new)
- [Composer Pacakge81 articles](https://msaied.com/articles?category=composer-pacakge&search=enums&sort=new)
- [Filament27 articles](https://msaied.com/articles?category=filament&search=enums&sort=new)
- [Laravel267 articles](https://msaied.com/articles?category=laravel&search=enums&sort=new)
- [Livewire13 articles](https://msaied.com/articles?category=livewire&search=enums&sort=new)
- [Open Source44 articles](https://msaied.com/articles?category=open-source&search=enums&sort=new)
- [PHP27 articles](https://msaied.com/articles?category=php&search=enums&sort=new)
- [Tips &amp; Tricks32 articles](https://msaied.com/articles?category=tips-tricks&search=enums&sort=new)

  Topics
------

 [All topics](https://msaied.com/articles?search=enums&sort=new) [AI 48](https://msaied.com/articles?category=ai&search=enums&sort=new) [Composer Pacakge 81](https://msaied.com/articles?category=composer-pacakge&search=enums&sort=new) [Filament 27](https://msaied.com/articles?category=filament&search=enums&sort=new) [Laravel 267](https://msaied.com/articles?category=laravel&search=enums&sort=new) [Livewire 13](https://msaied.com/articles?category=livewire&search=enums&sort=new) [Open Source 44](https://msaied.com/articles?category=open-source&search=enums&sort=new) [PHP 27](https://msaied.com/articles?category=php&search=enums&sort=new) [Tips &amp; Tricks 32](https://msaied.com/articles?category=tips-tricks&search=enums&sort=new)    10 articles
------------

Topics    Sort articles Newest first  Oldest first  Sort  

 [Search: enums ×Remove search](https://msaied.com/articles?sort=new) [ Clear filters](https://msaied.com/articles) 

  [![](https://cdn.msaied.com/746/496c70db85d5a374cca5e7f9c0a182a8.png)](https://msaied.com/articles/grant-enum-based-roles-and-permissions-for-laravel)5 Oct 2026·3 min read 

### [Grant: Enum-Based Roles and Permissions for Laravel](https://msaied.com/articles/grant-enum-based-roles-and-permissions-for-laravel) 

 Grant is a Laravel package that lets you define roles and permissions as PHP enums, stores assignments in the database, and routes all checks through Laravel's Gate so can(), Gate::authorize(), and @can work out of the box.

 [Laravel](https://msaied.com/articles?category=laravel) [Composer Pacakge](https://msaied.com/articles?category=composer-pacakge) 

   [![](https://cdn.msaied.com/706/a9d051bc039469c10d1d4c5fc364e598.png)](https://msaied.com/articles/typed-php-83-enums-as-eloquent-casts-route-parameters-and-validation-rules-1)26 Sep 2026·1 min read 

### [Typed PHP 8.3 Enums as Eloquent Casts, Route Parameters, and Validation Rules](https://msaied.com/articles/typed-php-83-enums-as-eloquent-casts-route-parameters-and-validation-rules-1) 

 Go beyond basic enum casting. Learn how to wire PHP 8.3 enums into Eloquent, bind them as route model parameters, and write reusable validation rules — all with full type safety and zero boilerplate.

   [![](https://cdn.msaied.com/659/44f701e1dc43e64d0b7ecc984d0b34bc.png)](https://msaied.com/articles/custom-eloquent-casts-value-objects-enums-and-encrypted-composites)12 Sep 2026·3 min read 

### [Custom Eloquent Casts: Value Objects, Enums, and Encrypted Composites](https://msaied.com/articles/custom-eloquent-casts-value-objects-enums-and-encrypted-composites) 

 Go beyond primitive storage with Eloquent's CastsAttributes contract. Build reusable value-object casts, handle composite columns, and encrypt sensitive fields without a single accessor.

   [![](https://cdn.msaied.com/583/7301900aac0f2ec5d1347df11ce92188.png)](https://msaied.com/articles/typed-php-83-enums-as-eloquent-casts-route-parameters-and-validation-rules)23 Aug 2026·1 min read 

### [Typed PHP 8.3 Enums as Eloquent Casts, Route Parameters, and Validation Rules](https://msaied.com/articles/typed-php-83-enums-as-eloquent-casts-route-parameters-and-validation-rules) 

 Go beyond basic enum casting. Learn how to wire PHP 8.3 backed enums into Eloquent, route model binding, and custom validation rules to eliminate stringly-typed code across your Laravel application.

   [![](https://cdn.msaied.com/483/0b80ca4c39b98b48f8d3475ac949ea0f.png)](https://msaied.com/articles/laravel-typed-enums-as-first-class-citizens-casts-rules-and-php-83-features)29 Jul 2026·3 min read 

### [Laravel Typed Enums as First-Class Citizens: Casts, Rules, and PHP 8.3 Features](https://msaied.com/articles/laravel-typed-enums-as-first-class-citizens-casts-rules-and-php-83-features) 

 PHP 8.1 enums changed how we model domain state. This article shows how to wire backed enums into Eloquent casts, form validation rules, and route binding — with PHP 8.3 typed constants making everything tighter.

   [![](https://cdn.msaied.com/408/3534df365ffb2c8f6c430180bfaba8f1.png)](https://msaied.com/articles/laravel-enum-casts-backed-enums-and-value-semantics-in-php-83)10 Jul 2026·1 min read 

### [Laravel Enum Casts, Backed Enums, and Value Semantics in PHP 8.3](https://msaied.com/articles/laravel-enum-casts-backed-enums-and-value-semantics-in-php-83) 

 PHP 8.3 backed enums combined with Laravel's native enum casting unlock type-safe domain models. Learn how to wire enums into Eloquent, validation, and API resources without ceremony.

   [![](https://cdn.msaied.com/344/0e6a808cf916b40631d3d362a687baa8.png)](https://msaied.com/articles/php-83-typed-enums-backed-casts-and-readonly-properties-in-modern-laravel)2 Jul 2026·1 min read 

### [PHP 8.3+ Typed Enums, Backed Casts, and Readonly Properties in Modern Laravel](https://msaied.com/articles/php-83-typed-enums-backed-casts-and-readonly-properties-in-modern-laravel) 

 PHP 8.3 and Laravel's native enum support unlock expressive, type-safe domain models. Learn how to combine backed enums, custom Eloquent casts, and readonly properties to eliminate primitive obsession without ceremony.

   [![](https://cdn.msaied.com/282/71a8fc3e4cf4239b1bf6d38d57e0b985.png)](https://msaied.com/articles/typed-enums-as-first-class-domain-citizens-in-laravel-with-php-83)24 Jun 2026·3 min read 

### [Typed Enums as First-Class Domain Citizens in Laravel with PHP 8.3](https://msaied.com/articles/typed-enums-as-first-class-domain-citizens-in-laravel-with-php-83) 

 Go beyond simple enum labels. Learn how to attach behaviour, implement interfaces, and use backed enums as Eloquent casts, route bindings, and validation rules without polluting your models.

   [![](https://cdn.msaied.com/266/81a05f630d54004d2a6689a02d6f0579.png)](https://msaied.com/articles/laravel-enums-as-first-class-domain-citizens-typed-casts-backed-values-and-behaviour)22 Jun 2026·1 min read 

### [Laravel Enums as First-Class Domain Citizens: Typed Casts, Backed Values, and Behaviour](https://msaied.com/articles/laravel-enums-as-first-class-domain-citizens-typed-casts-backed-values-and-behaviour) 

 PHP 8.1 backed enums are more than constants. Learn how to attach behaviour, use them as Eloquent casts, embed them in value objects, and write expressive domain logic without a single string literal.

   ← Newer1. 1
2. [2](https://msaied.com/articles?search=enums&page=2)

 1 / 2 [Older →](https://msaied.com/articles?search=enums&page=2)   

  Have a technical challenge?
----------------------------

Tell me what you’re building. I reply within two working days.

 [Discuss your project ↗](https://msaied.com#contact) 

Topics
------

Close 

 [All topics](https://msaied.com/articles) [AI (48) ](https://msaied.com/articles?category=ai&search=enums&sort=new) [Composer Pacakge (81) ](https://msaied.com/articles?category=composer-pacakge&search=enums&sort=new) [Filament (27) ](https://msaied.com/articles?category=filament&search=enums&sort=new) [Laravel (267) ](https://msaied.com/articles?category=laravel&search=enums&sort=new) [Livewire (13) ](https://msaied.com/articles?category=livewire&search=enums&sort=new) [Open Source (44) ](https://msaied.com/articles?category=open-source&search=enums&sort=new) [PHP (27) ](https://msaied.com/articles?category=php&search=enums&sort=new) [Tips &amp; Tricks (32) ](https://msaied.com/articles?category=tips-tricks&search=enums&sort=new)  

  © 2026 Mohamed Said · Built with Laravel, meant to last.Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

 - [Home](https://msaied.com)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [GitHub](https://github.com/EG-Mohamed)
- [LinkedIn](https://www.linkedin.com/in/msaiedm/)
- [WhatsApp](https://wa.me/201094619204)
- [Email Address](mailto:hello@msaied.com)
- [My CV](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
- [Sitemap](https://msaied.com/sitemap.xml)
