Middleware
Sistema de middleware para interceptar requisições antes do handler da rota.
Registrar Middleware
routeMiddleware('auth', function ($next, $param) {
if (!estaLogado()) {
redirect('/login');
return; // Não chama $next — interrompe
}
$next(); // Chama o próximo middleware ou o handler
}); Aplicar em Rotas
// Em rota específica
routeGET('/admin', 'adminController@index', '', ['auth']);
// Com parâmetro
routeGET('/admin', 'adminController@index', '', ['auth:admin']);
// Em grupo de rotas
routeGroup('/admin', 'Admin', function () {
routeGET('/usuarios', 'usuarioController@index');
routeGET('/config', 'configController@index');
}, ['auth']); Múltiplos Middleware
routeMiddleware('log', function ($next) {
error_log('Requisição: ' . $_SERVER['REQUEST_URI']);
$next();
});
routeMiddleware('csrf', function ($next) {
if (!csrf_verify()) {
http_response_code(403);
exit;
}
$next();
});
// Aplicar vários
routePOST('/dados', 'dadosController@salvar', '', ['csrf', 'log']); Ordem de Execução
Os middleware são executados na ordem em que aparecem no array. Cada middleware decide se chama $next() para prosseguir ou interrompe o fluxo.