Ciclo de Vida da Requisição
v4Entender o fluxo ajuda a decidir onde colocar middlewares, validação, CSRF e autenticação Bearer.
Fluxo resumido
Request HTTP
│
▼
public/index.php → Bootstrap (config, providers)
│
▼
uri → resolve rota (web / user / admin / api / módulo)
│
├─ without_csrf? → pula verificação CSRF
├─ api.allow → allowlist em /api/*
│
▼
Middlewares (user, admin, auth:api, custom)
│
▼
Handler
│
├─ $req->check() → web: redirect+flash | API: 422 JSON
├─ Models / Query Builder / Cache
│
▼
Response
├─ $this->view() + layout (web) + res()->success()->to()
└─ json() / $res->json() (API)Web vs API
| Etapa | Web | API |
|---|---|---|
| CSRF | csrf() em POST/PUT/PATCH/DELETE | Grupo com without_csrf |
| Auth | Sessão user / admin | Authorization: Bearer + auth:api |
| Validação inválida | Redirect + flash + error() | 422 JSON |
| Resposta | View PHP + layout | JSON envelope |
Onde entram os módulos
Módulos registram rotas em routes.php e podem ser embutidos na home com plug():
<?php $widget = plug('posts::home@latest'); ?>