Clean Architecture em PHP: Vale a Pena em Projetos Laravel?
Clean Architecture é um dos tópicos mais debatidos na comunidade Laravel — e também um dos mais mal aplicados. Vou dar minha visão honesta depois de ver projetos de todos os tamanhos.
O que é Clean Architecture (de verdade)
Clean Architecture, popularizada pelo Uncle Bob, define camadas com dependências sempre apontando para o centro:
- Entities: regras de negócio puras, sem dependências externas
- Use Cases: orquestração da lógica de aplicação
- Interface Adapters: controllers, presenters, gateways
- Frameworks & Drivers: Laravel, banco de dados, HTTP
Quando Faz Sentido em Laravel
A resposta honesta: raramente do jeito "puro".
Laravel é um framework que abraça o "Active Record" (Eloquent) e convenções over configuration. Forçar Clean Architecture completa significa lutar contra o framework em vez de trabalhar com ele.
O que funciona bem é um meio-termo pragmático:
- Use Services para orquestrar lógica de negócio complexa
- Use Actions (padrão do Laravel Jetstream) para casos de uso simples
- Mantenha os Models com lógica de domínio simples (scopes, accessors, mutators)
- Reserve a estrutura completa de Use Cases + Repositories para domínios realmente complexos
A Regra Prática
Se você consegue explicar a regra de negócio em um parágrafo, um Service resolve. Se a lógica tem múltiplos atores, invariantes complexas e casos de borda, aí sim vale a complexidade de camadas adicionais.
Over-engineering mata produtividade tanto quanto código espaguete. Encontre o equilíbrio.
Posts relacionados
Você não ficou 4x mais rápido. Ficou 10x mais inseguro — e agora existem os dados
Quase metade do código gerado por IA nasce com uma falha do OWASP Top 10. Os commits saem...
Laravel 13 e PHP 8.5: IA e busca vetorial no framework, sem quebrar o que já existe
O Laravel 13 chegou em março de 2026 com AI SDK de primeira parte, busca vetorial no query...
TypeScript 7 foi reescrito em Go: o que muda no seu build e o que continua igual
O compilador do TypeScript foi portado para Go e saiu em julho de 2026 com type-check até...