📘 Estudo Aprofundado – Laravel e
Arquitetura MVC
🧱 1. O que é Laravel?
Laravel é um framework PHP moderno e expressivo, criado para tornar o desenvolvimento
web mais prático, seguro e padronizado. Ele segue princípios de convenção sobre
configuração, e vem com uma estrutura robusta que ajuda o desenvolvedor a focar mais
na lógica do sistema e menos em problemas de infraestrutura.
✨ Por que usar o Laravel?
● Estrutura clara e modular
● Ótimo suporte a autenticação, filas, testes, eventos e jobs
● Comunidade ativa e documentação excelente
● Ferramentas integradas como Artisan (CLI), Blade (template engine) e Eloquent
(ORM)
🧠 2. Arquitetura MVC – Explicação Completa
O MVC (Model-View-Controller) é um padrão arquitetural que separa responsabilidades:
Camada Responsabilidade
Model Representa os dados e a lógica de negócios (usa Eloquent ORM no
Laravel). Interage com o banco de dados.
View Exibe as informações ao usuário (HTML + Blade). Não contém lógica
pesada.
Controller Recebe a requisição, processa a lógica, interage com Model e retorna a
View com os dados.
🧭 Como o MVC melhora o desenvolvimento?
● Organização do código
● Separação de responsabilidades
● Facilidade para testes e manutenção
● Escalabilidade
🗂️ 3. Estrutura de Diretórios no Laravel
● app/Models/: Modelos Eloquent (dados)
● app/Http/Controllers/: Lógica das requisições
● resources/views/: Templates HTML com Blade
● routes/[Link]: Rotas do sistema
● database/migrations/: Scripts para estrutura de banco
● app/Http/Middleware/: Filtros que interceptam requisições (ex: autenticação)
🔁 4. Ciclo de Vida de uma Requisição
1. O usuário acessa uma rota via navegador.
2. A rota direciona para um controller.
3. O controller usa um model para pegar dados (se necessário).
4. O controller retorna uma view com os dados renderizados.
⚙️ 5. Comandos Artisan Úteis
Comando Função
php artisan serve Inicia o servidor local
php artisan make:controller Cria um controller
NomeController
php artisan make:model NomeModel Cria um model
php artisan make:migration Cria uma migration
create_nome_tabela
php artisan migrate Executa migrations para criar tabelas no
banco
🧬 6. Eloquent ORM – Trabalhando com Modelos
Exemplo de uso:
Você também pode fazer buscas e filtros:
Relacionamentos:
● hasOne, hasMany, belongsTo, belongsToMany
🌐 7. Rotas
Laravel usa rotas declarativas para ligar URLs a controllers:
Outros tipos:
● Route::post, Route::put, Route::delete
● Route::resource para CRUDs completos automaticamente
🧾 8. Blade – Template Engine
Blade permite HTML com lógica PHP simplificada:
Outros recursos:
● @if, @else, @foreach, @include, @yield, @extends
● Reuso de layouts e componentes visuais
🛡️ 9. Middlewares
Permite criar filtros entre a requisição e a resposta. Exemplo:
Usado para controle de acesso, logs, CORS, etc.
🔐 10. Autenticação com Breeze
Laravel Breeze é um starter kit leve para autenticação:
Ele já cria:
● Login
● Registro
● Recuperação de senha
● Autenticação com middleware auth
🧪 11. Testes com PHPUnit
Testes automatizados ajudam a garantir que o sistema continue funcionando:
Laravel já vem pronto para testes de unidade e de interface.
✅ 12. Boas Práticas
● Organização: siga a estrutura MVC
● Lógica de negócio no Model, não na View
● Use Migrations e Seeders para manipular banco
● Valide os dados com FormRequest
● Use Controllers enxutos (Services ajudam)
● Siga princípios: SOLID, DRY, KISS
● Teste sempre que possível