bebel / router
BebelRouter: biblioteca profissional de roteamento HTTP PHP puro, inspirada na API do Laravel.
dev-main
2026-10-30 13:52 UTC
Requires
- php: >=8.2
Requires (Dev)
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-30 13:56:52 UTC
README
Biblioteca profissional de roteamento HTTP PHP puro, inspirada na API do Laravel, sem dependências obrigatórias.
Recursos
- Métodos HTTP: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD, ANY, match
- Parâmetros dinâmicos e opcionais com restrições
- Grupos com prefixo, nome, middleware, where
- Rotas nomeadas e geração de URLs
- Middlewares globais/por rota/grupo com pipeline
- Controllers com resolução segura e injeção simples
- Rotas RESTful, fallback, redirecionamentos
- Method spoofing opcional
- Tratamento 404/405 com header Allow
- Respostas JSON/text/html/redirect
- Testes automatizados
Requisitos
- PHP >= 8.2
Instalação
composer require bebel/router
Exemplo mínimo
<?php require 'vendor/autoload.php'; use BebelRouter\Router; use BebelRouter\Response; $router = new Router(); $router->get('/', function() { return Response::json(['msg' => 'Olá, BebelRouter!']); }); $router->get('/usuarios/{id}', [App\Controllers\UsuarioController::class, 'show']) ->name('usuarios.show') ->whereNumber('id'); $router->group(['prefix' => 'admin', 'as' => 'admin.', 'middleware' => ['auth']], function($router) { $router->get('/dashboard', [App\Controllers\Admin\DashboardController::class, 'index']) ->name('dashboard'); }); $response = $router->dispatchFromGlobals(); $response->send();
Documentação
Testes
composer install
composer test
Segurança
Consulte SECURITY.md. Method spoofing desabilitado por padrão. Não confie em cabeçalhos de proxy sem configurar lista confiável.
Licença
MIT