RouterInterface
extends
UrlMatcherInterface, UrlGeneratorInterface
in
RouterInterface is the interface that all Router classes must implement.
This interface is the concatenation of UrlMatcherInterface and UrlGeneratorInterface.
Tags
Table of Contents
- ABSOLUTE_PATH = 1
- Generates an absolute path, e.g. "/dir/file".
- ABSOLUTE_URL = 0
- Generates an absolute URL, e.g. "http://example.com/dir/file".
- NETWORK_PATH = 3
- Generates a network path, e.g. "//example.com/dir/file".
- RELATIVE_PATH = 2
- Generates a relative path based on the current request path, e.g. "../parent-file".
- generate() : string
- Generates a URL or path for a specific route based on the given parameters.
- getContext() : RequestContext
- Gets the request context.
- getRouteCollection() : RouteCollection
- Gets the RouteCollection instance associated with this Router.
- match() : array<string|int, mixed>
- Tries to match a URL path with a set of routes.
- setContext() : mixed
- Sets the request context.
Constants
ABSOLUTE_PATH
Generates an absolute path, e.g. "/dir/file".
public
mixed
ABSOLUTE_PATH
= 1
ABSOLUTE_URL
Generates an absolute URL, e.g. "http://example.com/dir/file".
public
mixed
ABSOLUTE_URL
= 0
NETWORK_PATH
Generates a network path, e.g. "//example.com/dir/file".
public
mixed
NETWORK_PATH
= 3
Such reference reuses the current scheme but specifies the host.
RELATIVE_PATH
Generates a relative path based on the current request path, e.g. "../parent-file".
public
mixed
RELATIVE_PATH
= 2
Tags
Methods
generate()
Generates a URL or path for a specific route based on the given parameters.
public
generate(string $name[, array<string|int, mixed> $parameters = [] ][, int $referenceType = self::ABSOLUTE_PATH ]) : string
Parameters that reference placeholders in the route pattern will substitute them in the path or host. Extra params are added as query string to the URL.
When the passed reference type cannot be generated for the route because it requires a different host or scheme than the current one, the method will return a more comprehensive reference that includes the required params. For example, when you call this method with $referenceType = ABSOLUTE_PATH but the route requires the https scheme whereas the current scheme is http, it will instead return an ABSOLUTE_URL with the https scheme and the current host. This makes sure the generated URL matches the route in any case.
If there is no route with the given name, the generator must throw the RouteNotFoundException.
The special parameter _fragment will be used as the document fragment suffixed to the final URL.
Parameters
- $name : string
- $parameters : array<string|int, mixed> = []
- $referenceType : int = self::ABSOLUTE_PATH
Tags
Return values
string —getContext()
Gets the request context.
public
getContext() : RequestContext
Return values
RequestContext —getRouteCollection()
Gets the RouteCollection instance associated with this Router.
public
getRouteCollection() : RouteCollection
WARNING: This method should never be used at runtime as it is SLOW. You might use it in a cache warmer though.
Return values
RouteCollection —match()
Tries to match a URL path with a set of routes.
public
match(string $pathinfo) : array<string|int, mixed>
If the matcher cannot find information, it must throw one of the exceptions documented below.
Parameters
- $pathinfo : string
-
The path info to be parsed (raw format, i.e. not urldecoded)
Tags
Return values
array<string|int, mixed> —setContext()
Sets the request context.
public
setContext(RequestContext $context) : mixed
Parameters
- $context : RequestContext