gabogalro / php-api-router
Router library for PHP APIs with middleware support.
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/gabogalro/php-api-router
Requires
- php: >=7.4
README
- Un router minimalista estilo Laravel, escrito en PHP puro, con soporte para:
- Agrupación de rutas (group)
- Prefijos automáticos
- Middlewares (Autenticación)
- Controladores estilo [Controller::class, 'método']
- Rutas dinámicas con parámetros {id}
- Soporte para los métodos GET, POST, PUT, DELETE
Instalación
composer require gabogalro/router
Configuración
- Carga el router en tu index.php o tu archivo de punto de inicio.
use gabogalro\Router\Router; $router = new Router(); $router->dispatch($_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI']);
Guia de uso
- En tu archivo de rutas ya sea api.php, router.php, etc. Usalo de la siguiente manera
use app\Controllers\UserController; // Define tu prefijo global de rutas $router->group('/api', function ($router) { // Define tu prefijo de grupo $router->group('/users', function ($router) { // Agrega tus rutas finales // esta ruta quedaria como /api/users/register $router->post('/register', [UserController::class, 'UsersMember']); // esta ruta quedaria como /api/users/get $router->get('/get', [UserController::class, 'GetUserById']); }); });
Middlewares
- Puedes usar la librería AuthMiddleware en conjunto para hacer rutas protegidas con tokens automatizando el proceso, siguiendo los requisitos establecidos en su respectiva sección.
use app\Controllers\UserController; use gabogalro\AuthMiddleware; // Define tu prefijo global de rutas $router->group('/api', function ($router) { // Define tu prefijo de grupo $router->group('/users', function ($router) { // Agrega tus rutas finales // esta ruta quedaria como /api/users/register $router->post('/register', [UserController::class, 'UsersMember']); // esta ruta quedaria como /api/users/get $router->get('/get', [UserController::class, 'GetUserById'])->withMiddleware('AuthMiddleware'); }); });
Requisitos previos
- PHP 7.4 o superior
- Composer
- AuthMiddleware (opcional)
License
MIT © gabogalro. See LICENSE for details.