Router (Component\Routing)
Symfony\Component\Routing\Router
class Router implements RouterInterface, RequestMatcherInterface
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) Sets the request context. | ||
RequestContext | getContext() Gets the request context. | |
setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) Sets the ConfigCache factory to use. | ||
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. | |
array | match(string $pathinfo) Tries to match a URL path with a set of routes. | |
array | matchRequest(Request $request) Tries to match a request 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. | |
addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) |
Details
public __construct(LoaderInterface $loader, mixed $resource, array $options = array(), RequestContext $context = null, LoggerInterface $logger = null)
Constructor.
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)
public setOption(string $key, mixed $value)
Sets an option.
public mixed getOption(string $key)
Gets an option value.
public RouteCollection getRouteCollection()
Gets the RouteCollection instance associated with this Router.
public setContext(RequestContext $context)
Sets the request context.
public RequestContext getContext()
Gets the request context.
public setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory)
Sets the ConfigCache factory to use.
public 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.
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.
public 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.
public UrlMatcherInterface getMatcher()
Gets the UrlMatcher instance associated with this Router.
public UrlGeneratorInterface getGenerator()
Gets the UrlGenerator instance associated with this Router.
public addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
© 2004–2016 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Routing/Router.html