---
title: "Improving Laravel Architecture With Expressive"
url: https://daily.dev/posts/improving-laravel-architecture-with-expressive-elx6xftv6
source_url: https://wendelladriel.com/blog/improving-laravel-architecture-with-expressive
type: article
source: "W endell Adriel"
author: "Wendell Adriel"
published: 2026-06-01T11:01:44.534Z
updated: 2026-06-07T20:09:02.173Z
tags: ["php", "laravel"]
reading_time: 11
upvotes: 28
comments: 2
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Improving Laravel Architecture With Expressive

**[W endell Adriel](https://daily.dev/sources/wendelladriel)** · [@wendell_adriel](https://daily.dev/wendell_adriel) · 11 min read · 28 upvotes · 2 comments

## Summary

Expressive is a Laravel package that provides typed objects as a boundary between Eloquent models and business logic. Instead of passing Eloquent models everywhere, you convert them to fully typed PHP objects with explicit properties, enums, and nullability. Business actions then depend on these typed objects rather than the full database model, preventing accidental DB calls, improving static analysis, and making code easier to reason about. The package includes a generator and sync command to keep Expressive classes aligned with model changes. The author recommends using it selectively for complex business flows rather than replacing all Eloquent usage.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://wendelladriel.com/blog/improving-laravel-architecture-with-expressive>

## Community discussion

Top comments from developers on daily.dev.

**@nayeemdev** · 6 upvotes

> Interesting approach, but I wonder if this adding unnecessary complexity for many Laravel applications. Eloquent already handles a lot of the use cases these expressive objects are trying to solve if needed your solution looks like another version of DTO, I guess everyone should handle this type of issue with just DTO and Service class.
> Have you found that the additional abstraction significantly improves maintainability in real-world projects, especially for small to medium-sized teams, or is the benefit mainly seen in large, domain-heavy systems?

## Similar posts on daily.dev

- [New Expressive Model Attributes in Laravel 13.2.0](https://daily.dev/posts/new-expressive-model-attributes-in-laravel-13-2-0-d4iyewmhw) · Laravel News · 24 upvotes · 0 comments

---

Tags: [#php](https://daily.dev/tags/php), [#laravel](https://daily.dev/tags/laravel)

[View this post on daily.dev](https://daily.dev/posts/improving-laravel-architecture-with-expressive-elx6xftv6)
