Method | Description | |
---|---|---|
__call ( string $method, array $args ) : Zend\Expressive\Router\Route | ||
__construct ( Zend\Expressive\Router\RouterInterface $router, Interop\Container\ContainerInterface $container = null, callable $finalHandler = null, Zend\Diactoros\Response\EmitterInterface $emitter = null ) | Constructor | |
__invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $out = null ) : Psr\Http\Message\ResponseInterface | Overload middleware invocation. | |
any ( string | Zend\Expressive\Router\Route $path, callable | string $middleware, null | string $name = null ) : Zend\Expressive\Router\Route | ||
attachRouteResultObserver ( Zend\Expressive\Router\RouteResultObserverInterface $observer ) | Attach a route result observer. | |
detachRouteResultObserver ( Zend\Expressive\Router\RouteResultObserverInterface $observer ) | Detach a route result observer. | |
dispatchMiddleware ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $next ) | Dispatch the middleware matched by routing. | |
getContainer ( ) : Interop\Container\ContainerInterface | Retrieve the IoC container. | |
getEmitter ( ) : Zend\Diactoros\Response\EmitterInterface | Retrieve an emitter to use during run(). | |
getFinalHandler ( Psr\Http\Message\ResponseInterface $response = null ) : callable | null | Return the final handler to use during run() if the stack is exhausted. | |
notifyRouteResultObservers ( Zend\Expressive\Router\RouteResult $result ) | Notify all route result observers with the given route result. | |
pipe ( string | array | callable $path, null | string | array | callable $middleware = null ) : self | Overload pipe() operation. | |
pipeDispatchMiddleware ( ) | Register the dispatch middleware in the middleware pipeline. | |
pipeErrorHandler ( string | callable $path, null | string | callable $middleware = null ) : self | Pipe an error handler. | |
pipeRouteResultObserverMiddleware ( ) | Register the route result observer middleware in the middleware pipeline. | |
pipeRoutingMiddleware ( ) | Register the routing middleware in the middleware pipeline. | |
route ( string | Zend\Expressive\Router\Route $path, callable | string | array $middleware = null, array $methods = null, null | string $name = null ) : Zend\Expressive\Router\Route | Add a route for the route middleware to match. | |
routeMiddleware ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $next ) : Psr\Http\Message\ResponseInterface | Middleware that routes the incoming request and delegates to the matched middleware. | |
routeResultObserverMiddleware ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $next ) | Middleware for notifying route result observers. | |
run ( Psr\Http\Message\ServerRequestInterface $request = null, Psr\Http\Message\ResponseInterface $response = null ) | Run the application |
Method | Description | |
---|---|---|
checkForDuplicateRoute ( string $path, null | array $methods = null ) | Determine if the route is duplicated in the current list. |
public __construct ( Zend\Expressive\Router\RouterInterface $router, Interop\Container\ContainerInterface $container = null, callable $finalHandler = null, Zend\Diactoros\Response\EmitterInterface $emitter = null ) | ||
$router | Zend\Expressive\Router\RouterInterface | |
$container | Interop\Container\ContainerInterface | IoC container from which to pull services, if any. |
$finalHandler | callable | Final handler to use when $out is not provided on invocation. |
$emitter | Zend\Diactoros\Response\EmitterInterface | Emitter to use when `run()` is invoked. |
public __invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $out = null ) : Psr\Http\Message\ResponseInterface | ||
$request | Psr\Http\Message\ServerRequestInterface | |
$response | Psr\Http\Message\ResponseInterface | |
$out | callable | |
return | Psr\Http\Message\ResponseInterface |
public any ( string | Zend\Expressive\Router\Route $path, callable | string $middleware, null | string $name = null ) : Zend\Expressive\Router\Route | ||
$path | string | Zend\Expressive\Router\Route | |
$middleware | callable | string | Middleware (or middleware service name) to associate with route. |
$name | null | string | the name of the route |
return | Zend\Expressive\Router\Route |
public attachRouteResultObserver ( Zend\Expressive\Router\RouteResultObserverInterface $observer ) | ||
$observer | Zend\Expressive\Router\RouteResultObserverInterface |
public detachRouteResultObserver ( Zend\Expressive\Router\RouteResultObserverInterface $observer ) | ||
$observer | Zend\Expressive\Router\RouteResultObserverInterface |
public dispatchMiddleware ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $next ) | ||
$request | Psr\Http\Message\ServerRequestInterface | |
$response | Psr\Http\Message\ResponseInterface | |
$next | callable |
public getContainer ( ) : Interop\Container\ContainerInterface | ||
return | Interop\Container\ContainerInterface |
public getEmitter ( ) : Zend\Diactoros\Response\EmitterInterface | ||
return | Zend\Diactoros\Response\EmitterInterface |
public getFinalHandler ( Psr\Http\Message\ResponseInterface $response = null ) : callable | null | ||
$response | Psr\Http\Message\ResponseInterface | Response instance with which to seed the FinalHandler; used to determine if the response passed to the handler represents the original or final response state. |
return | callable | null |
public notifyRouteResultObservers ( Zend\Expressive\Router\RouteResult $result ) | ||
$result | Zend\Expressive\Router\RouteResult |
function ($request, $response, $next = null) use ($container, $middleware) {
$invokable = $container->get($middleware);
if (! is_callable($invokable)) {
throw new Exception\InvalidMiddlewareException(sprintf(
'Lazy-loaded middleware "%s" is not invokable',
$middleware
));
}
return $invokable($request, $response, $next);
};
This is done to delay fetching the middleware until it is actually used;
the upshot is that you will not be notified if the service is invalid to
use as middleware until runtime.
Middleware may also be passed as an array; each item in the array must
resolve to middleware eventually (i.e., callable or service name).
Finally, ensures that the route middleware is only ever registered
once. public pipeDispatchMiddleware ( ) |
function ($error, $request, $response, $next) use ($container, $middleware) {
$invokable = $container->get($middleware);
if (! is_callable($invokable)) {
throw new Exception\InvalidMiddlewareException(sprintf(
'Lazy-loaded middleware "%s" is not invokable',
$middleware
));
}
return $invokable($error, $request, $response, $next);
};
This is done to delay fetching the middleware until it is actually used;
the upshot is that you will not be notified if the service is invalid to
use as middleware until runtime.
Once middleware detection and wrapping (if necessary) is complete,
proxies to pipe(). public pipeRouteResultObserverMiddleware ( ) |
public pipeRoutingMiddleware ( ) |
public route ( string | Zend\Expressive\Router\Route $path, callable | string | array $middleware = null, array $methods = null, null | string $name = null ) : Zend\Expressive\Router\Route | ||
$path | string | Zend\Expressive\Router\Route | |
$middleware | callable | string | array | Middleware (or middleware service name) to associate with route. |
$methods | array | HTTP method to accept; null indicates any. |
$name | null | string | the name of the route |
return | Zend\Expressive\Router\Route |
public routeMiddleware ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $next ) : Psr\Http\Message\ResponseInterface | ||
$request | Psr\Http\Message\ServerRequestInterface | |
$response | Psr\Http\Message\ResponseInterface | |
$next | callable | |
return | Psr\Http\Message\ResponseInterface |
public routeResultObserverMiddleware ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $next ) | ||
$request | Psr\Http\Message\ServerRequestInterface | |
$response | Psr\Http\Message\ResponseInterface | |
$next | callable |
public run ( Psr\Http\Message\ServerRequestInterface $request = null, Psr\Http\Message\ResponseInterface $response = null ) | ||
$request | Psr\Http\Message\ServerRequestInterface | |
$response | Psr\Http\Message\ResponseInterface |