UrlGeneratorInterface

interface UrlGeneratorInterface implements RequestContextAwareInterface

UrlGeneratorInterface is the interface that all URL generator classes must implement.

The constants in this interface define the different types of resource references that are declared in RFC 3986: http://tools.ietf.org/html/rfc3986 We are using the term "URL" instead of "URI" as this is more common in web applications and we do not need to distinguish them as the difference is mostly semantical and less technical. Generating URIs, i.e. representation-independent resource identifiers, is also possible.

Constants

ABSOLUTE_URL

Generates an absolute URL, e.g. "http://example.com/dir/file".

ABSOLUTE_PATH

Generates an absolute path, e.g. "/dir/file".

RELATIVE_PATH

Generates a relative path based on the current request path, e.g. ".

./parent-file".

NETWORK_PATH

Generates a network path, e.g. "//example.com/dir/file".

Such reference reuses the current scheme but specifies the host.

Methods

setContext(RequestContext $context)

Sets the request context.

from RequestContextAwareInterface
RequestContext getContext()

Gets the request context.

from RequestContextAwareInterface
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.

Details

setContext(RequestContext $context)

Sets the request context.

Parameters

RequestContext $context The context

RequestContext getContext()

Gets the request context.

Return Value

RequestContext The context

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

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Routing/Generator/UrlGeneratorInterface.html