RouterInterface
interface RouterInterface implements UrlMatcherInterface, UrlGeneratorInterface
RouterInterface is the interface that all Router classes must implement.
This interface is the concatenation of UrlMatcherInterface and UrlGeneratorInterface.
Methods
setContext(RequestContext $context) Sets the request context. | from RequestContextAwareInterface | |
RequestContext | getContext() Gets the request context. | from RequestContextAwareInterface |
array | match(string $pathinfo) Tries to match a URL path with a set of routes. | from UrlMatcherInterface |
string | generate(string $name, mixed $parameters = array(), Boolean|string $referenceType = self::ABSOLUTE_PATH) Generates a URL or path for a specific route based on the given parameters. | from UrlGeneratorInterface |
RouteCollection | getRouteCollection() Gets the RouteCollection instance associated with this Router. |
Details
setContext(RequestContext $context)
Sets the request context.
Parameters
RequestContext | $context | The context |
RequestContext getContext()
Gets the request context.
Return Value
RequestContext | The context |
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 |
string generate(string $name, mixed $parameters = array(), Boolean|string $referenceType = self::ABSOLUTE_PATH)
Generates a URL or path for a specific route based on the given parameters.
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 = ABSOLUTEPATH but the route requires the https scheme whereas the current scheme is http, it will instead return an ABSOLUTEURL 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.
Parameters
string | $name | The name of the route |
mixed | $parameters | An array of parameters |
Boolean|string | $referenceType | The type of reference to be generated (one of the constants) |
Return Value
string | The generated URL |
Exceptions
RouteNotFoundException | If the named route doesn't exist |
MissingMandatoryParametersException | When some parameters are missing that are mandatory for the route |
InvalidParameterException | When a parameter value for a placeholder is not correct because it does not match the requirement |
RouteCollection getRouteCollection()
Gets the RouteCollection instance associated with this Router.
Return Value
RouteCollection | A RouteCollection instance |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Routing/RouterInterface.html