Router

class Router extends Router implements WarmableInterface, ServiceSubscriberInterface

This Router creates the Loader only when the cache is empty.

Methods

__construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = 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
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)

Parameters

ContainerInterface $container A ContainerInterface instance
mixed $resource The main resource to load
array $options An array of options
RequestContext $context The context

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
  • generatorbaseclass: The base class for the dumped generator class
  • generatorcacheclass: The class name for the dumped generator class
  • generatordumperclass: The name of a GeneratorDumperInterface implementation
  • matcher_class: The name of a UrlMatcherInterface implementation
  • matcherbaseclass: The base class for the dumped matcher class
  • matcherdumperclass: The class name for the dumped matcher class
  • matchercacheclass: 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 = 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.

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

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.
http://api.symfony.com/4.0/Symfony/Bundle/FrameworkBundle/Routing/Router.html