middlewares/aura-router

Name: aura-router

Owner: Middlewares

Description: PSR-15 middleware to use Aura.Router

Created: 2016-10-02 08:11:19.0

Updated: 2018-03-28 12:58:17.0

Pushed: 2018-03-06 19:09:39.0

Homepage:

Size: 33

Language: PHP

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

middlewares/aura-router

Latest Version on Packagist Software License Build Status Quality Score Total Downloads SensioLabs Insight

Middleware to use Aura.Router and store the route handler in a request attribute.

Requirements
Installation

This package is installable and autoloadable via Composer as middlewares/aura-router.

oser require middlewares/aura-router
Example

In this example, we are using middleware/request-handler to execute the route handler:

eate the router
ter = new Aura\Router\RouterContainer();

 = $router->getMap();

->get('hello', '/hello/{name}', function ($request) {

//The route parameters are stored as attributes
$name = $request->getAttribute('name');

//You can echo the output (it will be captured and writted into the body)
echo sprintf('Hello %s', $name);

//Or return a string
return sprintf('Hello %s', $name);

//Or return a response
return new Response();


patcher = new Dispatcher([
new Middlewares\AuraRouter($router),
new Middlewares\RequestHandler()


ponse = $dispatcher->dispatch(new ServerRequest('/hello/world'));

Aura.Router allows to define anything as the router handler (a closure, callback, action object, controller class, etc). The middleware will store this handler in a request attribute.

Options
__construct(Aura\Router\RouterContainer $router)

The router instance to use.

attribute(string $attribute)

The name of the server request attribute used to save the handler. The default value is request-handler.


Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.

The MIT License (MIT). Please see LICENSE for more information.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.