UrlGenerator
class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInterface
UrlGenerator can generate a URL or a path for any route in the RouteCollection based on the passed parameters.
Methods
Constructor.
Gets the request context.
Enables or disables the exception on incorrect parameters.
Returns whether to throw an exception on incorrect parameters.
Generates a URL or path for a specific route based on the given parameters.
Returns the target path as relative reference from the base path.
Details
at line line 85
__construct(RouteCollection $routes, RequestContext $context, LoggerInterface $logger = null)
Constructor.
at line line 95
setContext(RequestContext $context)
Sets the request context.
at line line 103
RequestContext
getContext()
Gets the request context.
at line line 111
setStrictRequirements(bool|null $enabled)
Enables or disables the exception on incorrect parameters.
Passing null will deactivate the requirements check completely.
at line line 119
bool|null
isStrictRequirements()
Returns whether to throw an exception on incorrect parameters.
Null means the requirements check is deactivated completely.
at line line 127
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.
at line line 302
static string
getRelativePath(string $basePath, string $targetPath)
Returns the target path as relative reference from the base path.
Only the URIs path component (no schema, host etc.) is relevant and must be given, starting with a slash. Both paths must be absolute and not contain relative parts. Relative URLs from one resource to another are useful when generating self-contained downloadable document archives. Furthermore, they can be used to reduce the link size in documents.
Example target paths, given a base path of "/a/b/c/d": - "/a/b/c/d" -> "" - "/a/b/c/" -> "./" - "/a/b/" -> "../" - "/a/b/c/other" -> "other" - "/a/x/y" -> "../../x/y"