Download the PHP package ellipse/router-aura without Composer
On this page you can find all versions of the php package ellipse/router-aura. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ellipse/router-aura
More information about ellipse/router-aura
Files in ellipse/router-aura
Package router-aura
Short Description Aura router Psr-15 middleware and request handler
License MIT
Homepage https://github.com/ellipsephp/router-aura
Informations about the package router-aura
Aura router
Aura router Psr-15 middleware and request handler.
Require php >= 7.0
Installation composer require ellipse/router-aura
Run tests ./vendor/bin/kahlan
Usage as request handler
This package provides an Ellipse\Router\AuraRouterRequestHandler
Psr-15 request handler taking an instance of Aura\Router\RouterContainer
as parameter.
This aura router is expected to have a populated map or to have a map builder defined, usually using its ->setMapBuilder()
method. The route handlers it matches are expected to be implementations of Psr\Http\Server\RequestHandlerInterface
.
When the AuraRouterRequestHandler
handles a request the aura router is used to match a Psr-15 request handler. When the matched route pattern contains placeholders, a new request is created with those placeholders => matched value pairs as request attributes. Finally the matched request handler is proxied with this new request to actually return a response.
Setting the aura router map builder using its ->setMapBuilder()
method allows the time consuming task of mapping routes to be performed only when the request is handled with the AuraRouterRequestHandler
. If for some reason an application handles the incoming request with another request handler, no time is lost mapping routes for this one.
Regarding exceptions:
- An
Ellipse\Router\Exceptions\MatchedHandlerTypeException
is thrown when the route handler matched by the aura router is not an implementation ofPsr\Http\Server\RequestHandlerInterface
. - An
Ellipse\Router\Exceptions\NotFoundException
is thrown when no route match the url. - An
Ellipse\Router\Exceptions\MethodNotAllowedException
is thrown when a route matches the url but the request http method is not allowed by the matched route. - An
Ellipse\Router\Exceptions\AuraMatcherException
is thrown when any other aura router rule failed.
Usage as middleware
This package provides an Ellipse\Router\AuraRouterMiddleware
Psr-15 middleware also taking an aura router as parameter.
Under the hood it creates a AuraRouterRequestHandler
with the given aura router and use it to handle the request. When a NotFoundException
is thrown, the request processing is delegated to the next middleware.
All versions of router-aura with dependencies
psr/http-message Version ^1.0
ellipse/router-adapter Version ^1.0
aura/router Version ^3.1