Skip to content

Simple Router Release Alpha Middlewares

Latest
Compare
Choose a tag to compare
@Rod1Andrade Rod1Andrade released this 24 Jul 01:38
· 1 commit to main since this release
28e8ea3

Main Goal

Now is possible define a middleware to a simple router or a group router.

Changes

  • Status Code
  • Carry values between requests (Middleware and Controllers)

Bugs Solves

  • Handle for group router: Before we have a error who impossibility the have two grouped routers.
  • Namespaces definitions
  • Header reset
  • Empty return response
  • Error handler in debug Mode accept also Exceptions

How the middleware works

  • Just implement the middleware interface and set the namespace to use.

Example:

use Rodri\SimpleRouter\Helpers\Header;
use Rodri\SimpleRouter\Router;

# Application Routers
$router = new Router();

$router->headerConfigs([
    Header::APPLICATION_JSON_UTF8,
]);

$router->setControllerNamespace('Rodri\SimpleRouter\Controllers');
$router->setMiddlewareNamespace('Rodri\SimpleRouter\Middlewares');

$router->debug(true);

$router->get(['/aloneGet', 'middleware' => ['GetMiddleware', 'OtherMiddleware', 'FailedMiddleware']], 'RequestController#get');

$router->group(['/request', 'middleware' => 'OtherMiddleware'], function (Router $router) {
    $router->get(['/get', 'middleware' => 'FailedMiddleware'], 'RequestController#get');
    $router->post(['/post'], 'RequestController#post');
});

# Dispatch router
$router->dispatch();

Related Issues

#11
#6

Related Pull Request

#12