class MockRouteProvider implements RouteProviderInterface (View source)

Easily configurable mock route provider.

Properties

protected RouteCollection $routes

A collection of routes for this route provider.

Methods

__construct(RouteCollection $routes)

Constructs a new MockRouteProvider.

RouteCollection
getRouteCollectionForRequest(Request $request)

Implements \Drupal\Core\Routing\RouteProviderInterface::getRouteCollectionForRequest().

Route
getRouteByName(string $name)

Find the route using the provided route name.

preLoadRoutes($names)

{@inheritdoc}

Route[]
getRoutesByNames(array|null $names)

Find many routes by their names using the provided list of names.

RouteCollection
getRoutesByPattern(string $pattern)

Get all routes which match a certain pattern.

Route[]
getAllRoutes()

Returns all the routes on the system.

reset()

Resets the route provider object.

Details

__construct(RouteCollection $routes)

Constructs a new MockRouteProvider.

Parameters

RouteCollection $routes

The route collection to use for this provider.

RouteCollection getRouteCollectionForRequest(Request $request)

Implements \Drupal\Core\Routing\RouteProviderInterface::getRouteCollectionForRequest().

Simply return all routes to prevent \Symfony\Component\Routing\Exception\ResourceNotFoundException.

Parameters

Request $request

A request against which to match

Return Value

RouteCollection

All Routes that could potentially match $request. Empty collection if nothing can match

Route getRouteByName(string $name)

Find the route using the provided route name.

Parameters

string $name

The route name to fetch

Return Value

Route

The Symfony route object.

Exceptions

RouteNotFoundException

preLoadRoutes($names)

{@inheritdoc}

Parameters

$names

Route[] getRoutesByNames(array|null $names)

Find many routes by their names using the provided list of names.

Note that this method may not throw an exception if some of the routes are not found or are not actually Route instances. It will just return the list of those Route instances it found.

This method exists in order to allow performance optimizations. The simple implementation could be to just repeatedly call $this->getRouteByName() while catching and ignoring eventual exceptions.

If $names is null, this method SHOULD return a collection of all routes known to this provider. If there are many routes to be expected, usage of a lazy loading collection is recommended. A provider MAY only return a subset of routes to e.g. support paging or other concepts.

Parameters

array|null $names

The list of names to retrieve, In case of null, the provider will determine what routes to return

Return Value

Route[]

Iterable list with the keys being the names from the $names array

RouteCollection getRoutesByPattern(string $pattern)

Get all routes which match a certain pattern.

Parameters

string $pattern

The route pattern to search for (contains } as placeholders).

Return Value

RouteCollection

Returns a route collection of matching routes. The collection may be empty and will be sorted from highest to lowest fit (match of path parts) and then in ascending order by route name for routes with the same fit.

Route[] getAllRoutes()

Returns all the routes on the system.

Usage of this method is discouraged for performance reasons. If possible, use RouteProviderInterface::getRoutesByNames() or RouteProviderInterface::getRoutesByPattern() instead.

Return Value

Route[]

An iterator of routes keyed by route name.

reset()

Resets the route provider object.