class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface

UrlMatcher matches URL based on a set of routes.

Constants

REQUIREMENT_MATCH

REQUIREMENT_MISMATCH

ROUTE_MATCH

Properties

protected $context
protected $allow
protected $routes
protected $request
protected $expressionLanguage
protected ExpressionFunctionProviderInterface[] $expressionLanguageProviders

Methods

__construct(RouteCollection $routes, RequestContext $context)

No description

setContext(RequestContext $context)

Sets the request context.

getContext()

Gets the request context.

array
match(string $pathinfo)

Tries to match a URL path with a set of routes.

array
matchRequest(Request $request)

Tries to match a request with a set of routes.

array
matchCollection(string $pathinfo, RouteCollection $routes)

Tries to match a URL with a set of routes.

array
getAttributes(Route $route, string $name, array $attributes)

Returns an array of values to use as request attributes.

array
handleRouteRequirements(string $pathinfo, string $name, Route $route)

Handles specific route requirements.

array
mergeDefaults(array $params, array $defaults)

Get merged default parameters.

getExpressionLanguage()

No description

createRequest($pathinfo)

No description

Details

at line 45
__construct(RouteCollection $routes, RequestContext $context)

Parameters

RouteCollection $routes
RequestContext $context

at line 54
setContext(RequestContext $context)

Sets the request context.

Parameters

RequestContext $context

at line 62
RequestContext getContext()

Gets the request context.

Return Value

RequestContext The context

at line 70
array match(string $pathinfo)

Tries to match a URL path with a set of routes.

If the matcher can not find information, it must throw one of the exceptions documented below.

Parameters

string $pathinfo The path info to be parsed (raw format, i.e. not urldecoded)

Return Value

array An array of parameters

Exceptions

ResourceNotFoundException If the resource could not be found
MethodNotAllowedException If the resource was found but the request method is not allowed

at line 86
array matchRequest(Request $request)

Tries to match a request with a set of routes.

If the matcher can not find information, it must throw one of the exceptions documented below.

Parameters

Request $request

Return Value

array An array of parameters

Exceptions

ResourceNotFoundException If no matching resource could be found
MethodNotAllowedException If a matching resource was found but the request method is not allowed

at line 97
addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)

at line 113
protected array matchCollection(string $pathinfo, RouteCollection $routes)

Tries to match a URL with a set of routes.

Parameters

string $pathinfo The path info to be parsed
RouteCollection $routes The set of routes

Return Value

array An array of parameters

Exceptions

ResourceNotFoundException If the resource could not be found
MethodNotAllowedException If the resource was found but the request method is not allowed

at line 175
protected array getAttributes(Route $route, string $name, array $attributes)

Returns an array of values to use as request attributes.

As this method requires the Route object, it is not available in matchers that do not have access to the matched Route instance (like the PHP and Apache matcher dumpers).

Parameters

Route $route The route we are matching against
string $name The name of the route
array $attributes An array of attributes from the matcher

Return Value

array An array of parameters

at line 191
protected array handleRouteRequirements(string $pathinfo, string $name, Route $route)

Handles specific route requirements.

Parameters

string $pathinfo The path
string $name The route name
Route $route The route

Return Value

array The first element represents the status, the second contains additional information

at line 213
protected array mergeDefaults(array $params, array $defaults)

Get merged default parameters.

Parameters

array $params The parameters
array $defaults The defaults

Return Value

array Merged default parameters

at line 224
protected getExpressionLanguage()

at line 239
protected createRequest($pathinfo)

Parameters

$pathinfo