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

1.1.0 2025-10-28 16:31 UTC

This package is auto-updated.

Last update: 2025-12-28 16:49:00 UTC


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

License

MIT © gabogalro. See LICENSE for details.