Site

Ciclo de Vida da Requisição

v4

Entender 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

EtapaWebAPI
CSRFcsrf() em POST/PUT/PATCH/DELETEGrupo com without_csrf
AuthSessão user / adminAuthorization: Bearer + auth:api
Validação inválidaRedirect + flash + error()422 JSON
RespostaView PHP + layoutJSON 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'); ?>

Veja Módulos eHelpers.