Repository navigation
Grupos com função
group() aceita uma função com as rotas do grupo. Dentro dela, $this é o router. No fim, o grupo volta ao que era, sem precisar de group(null).
$router->group("admin", function () {
$this->get("/", "Admin:home"); // /admin
$this->get("/user/{id}", "Admin:user"); // /admin/user/{id}
$this->group("report", function () {
$this->get("/{year}", "Report:year"); // /admin/report/{year}
}, Admin::class);
}, Auth::class);
$router->get("/contato", "Web:contact"); // fora do grupo- Middlewares do grupo vão no 3º parâmetro.
- Grupo dentro de grupo soma o caminho e os middlewares: primeiro os do grupo de fora, depois os do de dentro e por último os da rota.
- O namespace alterado dentro da função vale só ali dentro.
- Também funciona com o router no parâmetro:
function (Router $router) { ... }. - Um grupo com função fecha o grupo aberto sem função antes dele.
O formato antigo ($router->group("admin", Auth::class) seguido das rotas) continua funcionando como antes.