Sistema de Rotas
Roteador dinâmico com suporte a parâmetros, grupos e middleware.
Rotas GET e POST
routeGET('/', 'homeController@index');
routePOST('/contato', 'contatoController@enviar'); Nota: Apenas routeGET() e routePOST() existem. Não há helpers para PUT, PATCH, DELETE ou ANY.
Parâmetros na URL
routeGET('/usuario/{id}', 'usuarioController@show');
routeGET('/post/{slug:[a-z-]+}', 'postController@show');
// Os parâmetros são passados como argumentos para a função
function show(string $id) { /* ... */ }
function show(string $slug) { /* ... */ } Grupos de Rotas
routeGroup('/admin', 'Admin', function () {
routeGET('/usuarios', 'usuarioController@index');
routeGET('/usuarios/{id}', 'usuarioController@show');
}); Rotas Nomeadas
routeGET('/usuario/{id}', 'usuarioController@show', 'user.profile');
// Gerar URL pelo nome
$url = route('user.profile', ['id' => 5]); // /usuario/5
// Parâmetros não substituídos viram query string
$url = route('user.profile', ['id' => 5, 'page' => 2]); // /usuario/5?page=2 Página 404
route404(function () {
http_response_code(404);
view('errors/404');
}); Handler String
O formato é 'ArquivoController@funcao' onde ArquivoController é o arquivo em app/controllers/ sem .php, e funcao é a função dentro do namespace \Blumiga\ArquivoController.
// app/controllers/UserController.php
namespace Blumiga\UserController;
function listar() {
// ...
}
// config/routes.php
routeGET('/users', 'UserController@listar');