Class RoutingMiddleware

Applies routing rules to the request and creates the controller instance if possible.

Constants summary

  • string
    ROUTE_COLLECTION_CACHE_KEY
    'routeCollection'

Properties summary

  • $app protected
    \Cake\Routing\RoutingApplicationInterface

    The application that will have its routing hook invoked.

  • $cacheConfig protected
    string|null

    The cache configuration name to use for route collection caching, null to disable caching

Method Summary

  • __construct() public

    Constructor

  • buildRouteCollection() protected

    Check if route cache is enabled and use the configured Cache to 'remember' the route collection

  • loadRoutes() protected

    Trigger the application's routes() hook if the application exists and Router isn't initialized.

  • prepareRouteCollection() protected

    Generate the route collection using the builder

  • process() public

    Apply routing and update the request.

Method Detail

__construct() public

__construct(\Cake\Routing\RoutingApplicationInterface $app, ?string $cacheConfig)

Constructor

Parameters

\Cake\Routing\RoutingApplicationInterface $app

The application instance that routes are defined on.

string|null $cacheConfig optional

The cache config name to use or null to disable routes cache

buildRouteCollection() protected

buildRouteCollection()

Check if route cache is enabled and use the configured Cache to 'remember' the route collection

Returns

\Cake\Routing\RouteCollection

loadRoutes() protected

loadRoutes()

Trigger the application's routes() hook if the application exists and Router isn't initialized.

Uses the routes cache if enabled via configuration param "Router.cache"

If the middleware is created without an Application, routes will be loaded via the automatic route loading that pre-dates the routes() hook.

prepareRouteCollection() protected

prepareRouteCollection()

Generate the route collection using the builder

Returns

\Cake\Routing\RouteCollection

process() public

process(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Server\RequestHandlerInterface $handler)

Apply routing and update the request.

Any route/path specific middleware will be wrapped around $next and then the new middleware stack will be invoked.

Parameters

\Psr\Http\Message\ServerRequestInterface $request

The request.

\Psr\Http\Server\RequestHandlerInterface $handler

The request handler.

Returns

\Psr\Http\Message\ResponseInterface

A response.

Property Detail

$app protected

The application that will have its routing hook invoked.

Type

\Cake\Routing\RoutingApplicationInterface

$cacheConfig protected

The cache configuration name to use for route collection caching, null to disable caching

Type

string|null

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.0/class-Cake.Routing.Middleware.RoutingMiddleware.html