Router
class Router extends Router implements WarmableInterface, ServiceSubscriberInterface
This Router creates the Loader only when the cache is empty.
Properties
| protected UrlMatcherInterface|null | $matcher | from Router | |
| protected UrlGeneratorInterface|null | $generator | from Router | |
| protected RequestContext | $context | from Router | |
| protected LoaderInterface | $loader | from Router | |
| protected RouteCollection|null | $collection | from Router | |
| protected mixed | $resource | from Router | |
| protected array | $options | from Router | |
| protected LoggerInterface|null | $logger | from Router |
Methods
| __construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = null, ContainerInterface $parameters = null, LoggerInterface $logger = null) | ||
| setOptions(array $options) Sets options. | from Router | |
| setOption(string $key, mixed $value) Sets an option. | from Router | |
| mixed | getOption(string $key) Gets an option value. | from Router |
| RouteCollection | getRouteCollection() Gets the RouteCollection instance associated with this Router. | |
| setContext(RequestContext $context) Sets the request context. | from Router | |
| RequestContext | getContext() Gets the request context. | from Router |
| setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) Sets the ConfigCache factory to use. | from Router | |
| string | generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH) Generates a URL or path for a specific route based on the given parameters. | from Router |
| array | match(string $pathinfo) Tries to match a URL path with a set of routes. | from Router |
| array | matchRequest(Request $request) Tries to match a request with a set of routes. | from Router |
| UrlMatcherInterface | getMatcher() Gets the UrlMatcher instance associated with this Router. | from Router |
| UrlGeneratorInterface | getGenerator() Gets the UrlGenerator instance associated with this Router. | from Router |
| addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) | from Router | |
| GeneratorDumperInterface | getGeneratorDumperInstance() | from Router |
| MatcherDumperInterface | getMatcherDumperInstance() | from Router |
| warmUp(string $cacheDir) Warms up the cache. | ||
| static array | getSubscribedServices() Returns an array of service types required by such instances, optionally keyed by the service names used internally. |
Details
__construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = null, ContainerInterface $parameters = null, LoggerInterface $logger = null)
Parameters
| ContainerInterface | $container | A ContainerInterface instance |
| mixed | $resource | The main resource to load |
| array | $options | An array of options |
| RequestContext | $context | The context |
| ContainerInterface | $parameters | A ContainerInterface instance allowing to fetch parameters |
| LoggerInterface | $logger | A logger instance |
setOptions(array $options)
Sets options.
Available options:
- cache_dir: The cache directory (or null to disable caching)
- debug: Whether to enable debugging or not (false by default)
- generator_class: The name of a UrlGeneratorInterface implementation
- generator_base_class: The base class for the dumped generator class
- generator_cache_class: The class name for the dumped generator class
- generator_dumper_class: The name of a GeneratorDumperInterface implementation
- matcher_class: The name of a UrlMatcherInterface implementation
- matcher_base_class: The base class for the dumped matcher class
- matcher_dumper_class: The class name for the dumped matcher class
- matcher_cache_class: The name of a MatcherDumperInterface implementation
- resource_type: Type hint for the main resource (optional)
- strict_requirements: Configure strict requirement checking for generators implementing ConfigurableRequirementsInterface (default is true)
Parameters
| array | $options | An array of options |
Exceptions
| InvalidArgumentException | When unsupported option is provided |
setOption(string $key, mixed $value)
Sets an option.
Parameters
| string | $key | The key |
| mixed | $value | The value |
Exceptions
| InvalidArgumentException |
mixed getOption(string $key)
Gets an option value.
Parameters
| string | $key | The key |
Return Value
| mixed | The value |
Exceptions
| InvalidArgumentException |
RouteCollection getRouteCollection()
Gets the RouteCollection instance associated with this Router.
Return Value
| RouteCollection | A RouteCollection instance |
setContext(RequestContext $context)
Sets the request context.
Parameters
| RequestContext | $context |
RequestContext getContext()
Gets the request context.
Return Value
| RequestContext | The context |
setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory)
Sets the ConfigCache factory to use.
Parameters
| ConfigCacheFactoryInterface | $configCacheFactory |
string generate(string $name, mixed $parameters = array(), int $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 = 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
| string | $name | The name of the route |
| mixed | $parameters | An array of parameters |
| int | $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 |
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
| NoConfigurationException | If no routing configuration could be found |
| ResourceNotFoundException | If the resource could not be found |
| MethodNotAllowedException | If the resource was found but the request method is not allowed |
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
| NoConfigurationException | If no routing configuration could be found |
| ResourceNotFoundException | If no matching resource could be found |
| MethodNotAllowedException | If a matching resource was found but the request method is not allowed |
UrlMatcherInterface getMatcher()
Gets the UrlMatcher instance associated with this Router.
Return Value
| UrlMatcherInterface | A UrlMatcherInterface instance |
UrlGeneratorInterface getGenerator()
Gets the UrlGenerator instance associated with this Router.
Return Value
| UrlGeneratorInterface | A UrlGeneratorInterface instance |
addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
Parameters
| ExpressionFunctionProviderInterface | $provider |
protected GeneratorDumperInterface getGeneratorDumperInstance()
Return Value
| GeneratorDumperInterface |
protected MatcherDumperInterface getMatcherDumperInstance()
Return Value
| MatcherDumperInterface |
warmUp(string $cacheDir)
Warms up the cache.
Parameters
| string | $cacheDir | The cache directory |
static array getSubscribedServices()
Returns an array of service types required by such instances, optionally keyed by the service names used internally.
For mandatory dependencies:
- array('logger' => 'Psr\Log\LoggerInterface') means the objects use the "logger" name internally to fetch a service which must implement Psr\Log\LoggerInterface.
- array('Psr\Log\LoggerInterface') is a shortcut for
- array('Psr\Log\LoggerInterface' => 'Psr\Log\LoggerInterface')
otherwise:
- array('logger' => '?Psr\Log\LoggerInterface') denotes an optional dependency
- array('?Psr\Log\LoggerInterface') is a shortcut for
- array('Psr\Log\LoggerInterface' => '?Psr\Log\LoggerInterface')
Return Value
| array | The required service types, optionally keyed by service names |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Bundle/FrameworkBundle/Routing/Router.html