Symfony2 API
Class

Symfony\Component\Routing\Router

class Router implements RouterInterface

The Router class is an example of the integration of all pieces of the routing system for easier use.

Methods

__construct(LoaderInterface $loader, mixed $resource, array $options = array(), RequestContext $context = null, LoggerInterface $logger = null)

Constructor.

setOptions(array $options)

Sets options.

setOption(string $key, mixed $value)

Sets an option.

mixed getOption(string $key)

Gets an option value.

RouteCollection getRouteCollection()

Gets the RouteCollection instance associated with this Router.

setContext(RequestContext $context)

{@inheritdoc}

getContext()

{@inheritdoc}

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.

array match(string $pathinfo)

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

UrlMatcherInterface getMatcher()

Gets the UrlMatcher instance associated with this Router.

UrlGeneratorInterface getGenerator()

Gets the UrlGenerator instance associated with this Router.

Details

at line 78
public __construct(LoaderInterface $loader, mixed $resource, array $options = array(), RequestContext $context = null, LoggerInterface $logger = null)

Constructor.

Parameters

LoaderInterface $loader A LoaderInterface instance
mixed $resource The main resource to load
array $options An array of options
RequestContext $context The context
LoggerInterface $logger A logger instance

at line 100
public 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)
* resource_type: Type hint for the main resource (optional)

Parameters

array $options An array of options

Exceptions

InvalidArgumentException When unsupported option is provided

at line 140
public setOption(string $key, mixed $value)

Sets an option.

Parameters

string $key The key
mixed $value The value

Exceptions

InvalidArgumentException

at line 158
public mixed getOption(string $key)

Gets an option value.

Parameters

string $key The key

Return Value

mixed The value

Exceptions

InvalidArgumentException

at line 170
public RouteCollection getRouteCollection()

Gets the RouteCollection instance associated with this Router.

Return Value

RouteCollection A RouteCollection instance

at line 182
public setContext(RequestContext $context)

{@inheritdoc}

Parameters

RequestContext $context

at line 197
public getContext()

{@inheritdoc}

at line 205
public 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 = 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.

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

at line 213
public 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 223
public UrlMatcherInterface getMatcher()

Gets the UrlMatcher instance associated with this Router.

Return Value

UrlMatcherInterface A UrlMatcherInterface instance

at line 256
public UrlGeneratorInterface getGenerator()

Gets the UrlGenerator instance associated with this Router.

Return Value

UrlGeneratorInterface A UrlGeneratorInterface instance