---
title: "Laravel 11: Novidades de arquitetura e guia prático de migração"
slug: "laravel-11-novidades-migracao"
author: "Mateus Cavalcanti"
publishedAt: "2026-09-13T00:16:49.242Z"
updatedAt: "2026-09-13T00:16:49.243Z"
category: "Backend"
tags:
  - "Arquitetura"
  - "Backend"
  - "Laravel"
  - "PHP"
  - "Web Development"
---

# Laravel 11: Novidades de arquitetura e guia prático de migração

O lançamento do Laravel 11 marcou uma das maiores reestruturações de esqueleto de projeto do framework dos últimos anos. Com foco em redução de *boilerplate* e simplicidade operacional, o framework eliminou arquivos desnecessários e consolidou configurações que antes ficavam espalhadas por dezenas de classes e providers.

Neste artigo, revisamos as principais mudanças de arquitetura e apresentamos um checklist seguro para migrar suas aplicações.

---

## 1. O novo esqueleto enxuto

A nova estrutura removeu diretórios inteiros que antes vinham por padrão em novas instalações:

- **Fim do `Http/Kernel.php` e `Console/Kernel.php`**: O registro de middlewares globais, grupos e agendamentos de tarefas agora é centralizado de forma fluente no arquivo `bootstrap/app.php`.
- **Menos Service Providers**: Quase todos os `AppServiceProvider`, `AuthServiceProvider` e `RouteServiceProvider` foram combinados ou dispensados; o Laravel agora descobre políticas e rotas automaticamente por convenção.
- **Configurações em cascata**: O diretório `config/` não vem mais populado com dezenas de arquivos por padrão; se você não precisa customizar um arquivo de configuração, ele herda diretamente os padrões do core.
- **Health Check nativo**: Endpoint `/up` integrado de fábrica via configuração `withRouting(health: '/up')`.

```php
// bootstrap/app.php no Laravel 11
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        api: __DIR__.'/../routes/api.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
        $middleware->alias([
            'role' => \App\Http\Middleware\CheckRole::class,
        ]);
    })
    ->withExceptions(function (Exceptions $exceptions) {
        // Tratamento global de exceções
    })->create();
```

---

## 2. Pré-requisitos para a migração

Antes de iniciar a migração em projetos legados:
1. **PHP 8.2+**: Garanta que seu ambiente de desenvolvimento e servidores de produção estejam rodando no mínimo a versão 8.2 do PHP.
2. **Suíte de testes automatizados**: Ter uma cobertura mínima com `Pest` ou `PHPUnit` é essencial para detectar quebras de compatibilidade rapidamente.
3. **Dependências de terceiros**: Verifique se todos os pacotes comunitários instalados via Composer já possuem suporte ao Laravel 11.

---

## 3. Checklist prático passo a passo

1. **Atualize o `composer.json`**:
   - `laravel/framework`: `"^11.0"`
   - `nunomaduro/collision`: `"^8.1"` (se aplicável)
2. **Execute a atualização de pacotes**:
   ```bash
   composer update --with-all-dependencies
   ```
3. **Ajuste chamadas de banco e casts de modelo**:
   - O Laravel 11 introduziu a convenção de métodos `casts()` em modelos Eloquent em substituição à propriedade protegida `$casts`.
4. **Execute as validações e testes**:
   ```bash
   php artisan test
   php artisan config:cache
   php artisan route:list
   ```

## Dica final

Você não é obrigado a reestruturar todo o esqueleto do seu projeto legado para o novo formato do `bootstrap/app.php` logo no primeiro dia. O Laravel 11 mantém compatibilidade reversa com a estrutura do Laravel 10. Atualize primeiro as dependências e garanta a estabilidade em produção; depois, modernize a estrutura de pastas gradualmente.
