Recent Projects
Cooper Standard engages with many startups, universities and suppliers. Check out some of our recent success stories.
Returns the Url object matching a request. SECURITY NOTE: The request path is not checked to be valid and accessible by the current user to allow storing and reusing Url objects by different users. The 'path.validator' service getUrlIfValid() method should be used instead of this one if validation and access check is desired. Otherwise, 'access_manager' service checkNamedRoute() method should be used on the router name and parameters stored in the Url object returned by this method. @param \Symfony\Component\HttpFoundation\Request $request A request object. @return static A Url object. Warning: the object is created even if the current user would get an access denied running the same request via the normal page flow. @throws \Drupal\Core\Routing\MatchingRouteNotFoundException Thrown when the request cannot be matched. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:485
Creates a new Url object for a URL that has a Drupal route. This method is for URLs that have Drupal routes (that is, most pages generated by Drupal). For non-routed local URIs relative to the base path (like robots.txt) use Url::fromUri() with the base: scheme. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of route parameter names and values. @param array $options See \Drupal\Core\Url::fromUri() for details. @return static A new Url object for a routed (internal to Drupal) URL. @see \Drupal\Core\Url::fromUserInput() @see \Drupal\Core\Url::fromUri() Defined in <ROOT>/core/lib/Drupal/Core/Url.php:150
Creates a new URL object from a route match. @param \Drupal\Core\Routing\RouteMatchInterface $route_match The route match. @return static Defined in <ROOT>/core/lib/Drupal/Core/Url.php:162
Creates a new Url object from a URI. This method is for generating URLs for URIs that: - do not have Drupal routes: both external URLs and unrouted local URIs like base:robots.txt - do have a Drupal route but have a custom scheme to simplify linking. Currently, there is only the entity: scheme (This allows URIs of the form entity:{entity_type}/{entity_id}. For example: entity:node/1 resolves to the entity.node.canonical route with a node parameter of 1.) For URLs that have Drupal routes (that is, most pages generated by Drupal), use Url::fromRoute(). @param string $uri The URI of the resource including the scheme. For user input that may correspond to a Drupal route, use internal: for the scheme. For paths that are known not to be handled by the Drupal routing system (such as static files), use base: for the scheme to get a link relative to the Drupal base path (like the <base> HTML element). For a link to an entity you may use entity:{entity_type}/{entity_id} URIs. The internal: scheme should be avoided except when processing actual user input that may or may not correspond to a Drupal route. Normally use Url::fromRoute() for code linking to any any Drupal page. @param array $options (optional) An associative array of additional URL options, with the following elements: - 'query': An array of query key/value-pairs (without any URL-encoding) to append to the URL. - 'fragment': A fragment identifier (named anchor) to append to the URL. Do not include the leading '#' character. - 'absolute': Defaults to FALSE. Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed. - 'attributes': An associative array of HTML attributes that will be added to the anchor tag if you use the \Drupal\Core\Link class to make the link. - 'language': An optional language object used to look up the alias for the URL. If $options['language'] is omitted, it defaults to the current language for the language type LanguageInterface::TYPE_URL. - 'https': Whether this URL should point to a secure location. If not defined, the current scheme is used, so the user stays on HTTP or HTTPS respectively. TRUE enforces HTTPS and FALSE enforces HTTP. @return static A new Url object with properties depending on the URI scheme. Call the access() method on this to do access checking. @throws \InvalidArgumentException Thrown when the passed in path has no scheme. @see \Drupal\Core\Url::fromRoute() @see \Drupal\Core\Url::fromUserInput() Defined in <ROOT>/core/lib/Drupal/Core/Url.php:275
Creates a Url object for a relative URI reference submitted by user input. Use this method to create a URL for user-entered paths that may or may not correspond to a valid Drupal route. @param string $user_input User input for a link or path. The first character must be one of the following characters: - '/': A path within the current site. This path might be to a Drupal route (e.g., '/admin'), to a file (e.g., '/README.txt'), or to something processed by a non-Drupal script (e.g., '/not/a/drupal/page'). If the path matches a Drupal route, then the URL generation will include Drupal's path processors (e.g., language-prefixing and aliasing). Otherwise, the URL generation will just append the passed-in path to Drupal's base path. - '?': A query string for the current page or resource. - '#': A fragment (jump-link) on the current page or resource. This helps reduce ambiguity for user-entered links and paths, and supports user interfaces where users may normally use auto-completion to search for existing resources, but also may type one of these characters to link to (e.g.) a specific path on the site. (With regard to the URI specification, the user input is treated as a @link https://tools.ietf.org/html/rfc3986#section-4.2 relative URI reference @endlink where the relative part is of type @link https://tools.ietf.org/html/rfc3986#section-3.3 path-abempty @endlink.) @param array $options (optional) An array of options. See Url::fromUri() for details. @return static A new Url object based on user input. @throws \InvalidArgumentException Thrown when the user input does not begin with one of the following characters: '/', '?', or '#'. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:207
Checks a Url render element against applicable access check services. @param array $element A render element as returned from \Drupal\Core\Url::toRenderArray(). @return bool Returns TRUE if the current user has access to the url, otherwise FALSE. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:832
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/Url.php:902
Constructs a new Url object. In most cases, use Url::fromRoute() or Url::fromUri() rather than constructing Url objects directly in order to avoid ambiguity and make your code more self-documenting. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of parameter names and values. @param array $options See \Drupal\Core\Url::fromUri() for details. @see static::fromRoute() @see static::fromUri() @todo Update this documentation for non-routed URIs in https://www.drupal.org/node/2346787 Defined in <ROOT>/core/lib/Drupal/Core/Url.php:124
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:30
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65
Checks this Url object against applicable access check services. Determines whether the route is accessible or not. @param \Drupal\Core\Session\AccountInterface $account (optional) Run access checks for this account. Defaults to the current user. @return bool Returns TRUE if the user has access to the url, otherwise FALSE. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:816
Returns the internal path (system path) for this route. This path will not include any prefixes, fragments, or query strings. @return string The internal path for this route. @throws \UnexpectedValueException. If this is a URI with no corresponding system path. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:793
Gets a specific option. See \Drupal\Core\Url::fromUri() for details on the options. @param string $name The name of the option. @return mixed The value for a specific option, or NULL if it does not exist. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:648
Returns the URL options. @return array The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:633
Returns the route name. @return string @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:562
Returns the route parameters. @return array @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:578
Returns the URI value for this Url object. Only to be used if self::$unrouted is TRUE. @return string A URI not connected to a route. May be an external URL. @throws \UnexpectedValueException Thrown when the URI was requested for a routed URL. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:715
Indicates if this Url is external. @return bool Defined in <ROOT>/core/lib/Drupal/Core/Url.php:541
Indicates if this Url has a Drupal route. @return bool Defined in <ROOT>/core/lib/Drupal/Core/Url.php:550
Merges the URL options with any currently set. In the case of conflict with existing options, the new options will replace the existing options. @param array $options The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:699
Sets the value of the absolute option for this Url. @param bool $absolute (optional) Whether to make this Url absolute or not. Defaults to TRUE. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:731
Sets a specific option. See \Drupal\Core\Url::fromUri() for details on the options. @param string $name The name of the option. @param mixed $value The option value. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:682
Sets the URL options. @param array $options The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:665
Sets a specific route parameter. @param string $key The key of the route parameter. @param mixed $value The route parameter. @return $this @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:618
Sets the route parameters. @param array $parameters The array of parameters. @return $this @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:597
Sets the unrouted URL assembler. @param \Drupal\Core\Utility\UnroutedUrlAssemblerInterface $url_assembler The unrouted URL assembler. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:894
Sets the URL generator. @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator (optional) The URL generator, specify NULL to reset it. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:880
Returns the route information for a render array. @return array An associative array suitable for a render array. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:771
Generates the string URL representation for this Url object. For an external URL, the string will contain the input plus any query string or fragment specified by the options array. If this Url object was constructed from a Drupal route or from an internal URI (URIs using the internal:, base:, or entity: schemes), the returned string will either be a relative URL like /node/1 or an absolute URL like http://example.com/node/1 depending on the options array, plus any specified query string or fragment. @param bool $collect_bubbleable_metadata (optional) Defaults to FALSE. When TRUE, both the generated URL and its associated bubbleable metadata are returned. @return string|\Drupal\Core\GeneratedUrl A string URL. When $collect_bubbleable_metadata is TRUE, a GeneratedUrl object is returned, containing the generated URL plus bubbleable metadata. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:757
Generates a URI string that represents the data in the Url object. The URI will typically have the scheme of route: even if the object was constructed using an entity: or internal: scheme. A internal: URI that does not match a Drupal route with be returned here with the base: scheme, and external URLs will be returned in their original form. @return string A URI representation of the Url object data. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:521
Create a new Url object for entity URIs. @param array $uri_parts Parts from an URI of the form entity:{entity_type}/{entity_id} as from parse_url(). @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @param string $uri The original entered URI. @return static A new Url object for an entity's canonical route. @throws \InvalidArgumentException Thrown if the entity URI is invalid. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:350
Creates a new Url object for 'internal:' URIs. Important note: the URI minus the scheme can NOT simply be validated by a \Drupal\Core\Path\PathValidatorInterface implementation. The semantics of the 'internal:' URI scheme are different: - PathValidatorInterface accepts paths without a leading slash (e.g. 'node/add') as well as 2 special paths: '<front>' and '<none>', which are mapped to the correspondingly named routes. - 'internal:' URIs store paths with a leading slash that represents the root — i.e. the front page — (e.g. 'internal:/node/add'), and doesn't have any exceptions. To clarify, a few examples of path plus corresponding 'internal:' URI: - 'node/add' -> 'internal:/node/add' - 'node/add?foo=bar' -> 'internal:/node/add?foo=bar' - 'node/add#kitten' -> 'internal:/node/add#kitten' - '<front>' -> 'internal:/' - '<front>foo=bar' -> 'internal:/?foo=bar' - '<front>#kitten' -> 'internal:/#kitten' - '<none>' -> 'internal:' - '<none>foo=bar' -> 'internal:?foo=bar' - '<none>#kitten' -> 'internal:#kitten' Therefore, when using a PathValidatorInterface to validate 'internal:' URIs, we must map: - 'internal:' (path component is '') to the special '<none>' path - 'internal:/' (path component is '/') to the special '<front>' path - 'internal:/some-path' (path component is '/some-path') to 'some-path' @param array $uri_parts Parts from an URI of the form internal:{path} as from parse_url(). @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @return static A new Url object for a 'internal:' URI. @throws \InvalidArgumentException Thrown when the URI's path component doesn't have a leading slash. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:400
Creates a new Url object for 'route:' URIs. @param array $uri_parts Parts from an URI of the form route:{route_name};{route_parameters} as from parse_url(), where the path is the route name optionally followed by a ";" followed by route parameters in key=value format with & separators. @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @param string $uri The original passed in URI. @return static A new Url object for a 'route:' URI. @throws \InvalidArgumentException Thrown when the route URI does not have a route name. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:449
@return \Drupal\Core\Access\AccessManagerInterface Defined in <ROOT>/core/lib/Drupal/Core/Url.php:839
Sets this Url to encapsulate an unrouted URI. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:499
Gets the unrouted URL assembler for non-Drupal URLs. @return \Drupal\Core\Utility\UnroutedUrlAssemblerInterface The unrouted URL assembler. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:865
Gets the URL generator. @return \Drupal\Core\Routing\UrlGeneratorInterface The URL generator. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:852
Creates a Link object from a given route name and parameters. @param string $text The text of the link. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of parameter names and values. @param array $options The options parameter takes exactly the same structure. See \Drupal\Core\Url::fromUri() for details. @return static Defined in <ROOT>/core/lib/Drupal/Core/Link.php:62
Creates a Link object from a given Url object. @param string|array|\Drupal\Component\Render\MarkupInterface $text The link text for the anchor tag as a translated string or render array. @param \Drupal\Core\Url $url The Url to create the link for. @return static Defined in <ROOT>/core/lib/Drupal/Core/Link.php:76
Constructs a new Link object. @param string $text The text of the link. @param \Drupal\Core\Url $url The url object. Defined in <ROOT>/core/lib/Drupal/Core/Link.php:42
Returns the text of the link. @return string Defined in <ROOT>/core/lib/Drupal/Core/Link.php:85
Returns the URL of the link. @return \Drupal\Core\Url Defined in <ROOT>/core/lib/Drupal/Core/Link.php:107
Sets the link generator service. @param \Drupal\Core\Utility\LinkGeneratorInterface $generator The link generator service. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:173
Sets the new text of the link. @param string $text The new text. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:97
Sets the URL of this link. @param Url $url The URL object to set @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:119
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/Link.php:144
Generates the HTML for this Link object. Do not use this method to render a link in an HTML context. In an HTML context, self::toRenderable() should be used so that render cache information is maintained. However, there might be use cases such as tests and non-HTML contexts where calling this method directly makes sense. @return \Drupal\Core\GeneratedLink The link HTML markup. @see \Drupal\Core\Link::toRenderable() Defined in <ROOT>/core/lib/Drupal/Core/Link.php:137
Returns the link generator. @return \Drupal\Core\Utility\LinkGeneratorInterface The link generator Defined in <ROOT>/core/lib/Drupal/Core/Link.php:158
*DEPTH TOO GREAT*
Returns the Url object matching a request. SECURITY NOTE: The request path is not checked to be valid and accessible by the current user to allow storing and reusing Url objects by different users. The 'path.validator' service getUrlIfValid() method should be used instead of this one if validation and access check is desired. Otherwise, 'access_manager' service checkNamedRoute() method should be used on the router name and parameters stored in the Url object returned by this method. @param \Symfony\Component\HttpFoundation\Request $request A request object. @return static A Url object. Warning: the object is created even if the current user would get an access denied running the same request via the normal page flow. @throws \Drupal\Core\Routing\MatchingRouteNotFoundException Thrown when the request cannot be matched. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:485
Creates a new Url object for a URL that has a Drupal route. This method is for URLs that have Drupal routes (that is, most pages generated by Drupal). For non-routed local URIs relative to the base path (like robots.txt) use Url::fromUri() with the base: scheme. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of route parameter names and values. @param array $options See \Drupal\Core\Url::fromUri() for details. @return static A new Url object for a routed (internal to Drupal) URL. @see \Drupal\Core\Url::fromUserInput() @see \Drupal\Core\Url::fromUri() Defined in <ROOT>/core/lib/Drupal/Core/Url.php:150
Creates a new URL object from a route match. @param \Drupal\Core\Routing\RouteMatchInterface $route_match The route match. @return static Defined in <ROOT>/core/lib/Drupal/Core/Url.php:162
Creates a new Url object from a URI. This method is for generating URLs for URIs that: - do not have Drupal routes: both external URLs and unrouted local URIs like base:robots.txt - do have a Drupal route but have a custom scheme to simplify linking. Currently, there is only the entity: scheme (This allows URIs of the form entity:{entity_type}/{entity_id}. For example: entity:node/1 resolves to the entity.node.canonical route with a node parameter of 1.) For URLs that have Drupal routes (that is, most pages generated by Drupal), use Url::fromRoute(). @param string $uri The URI of the resource including the scheme. For user input that may correspond to a Drupal route, use internal: for the scheme. For paths that are known not to be handled by the Drupal routing system (such as static files), use base: for the scheme to get a link relative to the Drupal base path (like the <base> HTML element). For a link to an entity you may use entity:{entity_type}/{entity_id} URIs. The internal: scheme should be avoided except when processing actual user input that may or may not correspond to a Drupal route. Normally use Url::fromRoute() for code linking to any any Drupal page. @param array $options (optional) An associative array of additional URL options, with the following elements: - 'query': An array of query key/value-pairs (without any URL-encoding) to append to the URL. - 'fragment': A fragment identifier (named anchor) to append to the URL. Do not include the leading '#' character. - 'absolute': Defaults to FALSE. Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed. - 'attributes': An associative array of HTML attributes that will be added to the anchor tag if you use the \Drupal\Core\Link class to make the link. - 'language': An optional language object used to look up the alias for the URL. If $options['language'] is omitted, it defaults to the current language for the language type LanguageInterface::TYPE_URL. - 'https': Whether this URL should point to a secure location. If not defined, the current scheme is used, so the user stays on HTTP or HTTPS respectively. TRUE enforces HTTPS and FALSE enforces HTTP. @return static A new Url object with properties depending on the URI scheme. Call the access() method on this to do access checking. @throws \InvalidArgumentException Thrown when the passed in path has no scheme. @see \Drupal\Core\Url::fromRoute() @see \Drupal\Core\Url::fromUserInput() Defined in <ROOT>/core/lib/Drupal/Core/Url.php:275
Creates a Url object for a relative URI reference submitted by user input. Use this method to create a URL for user-entered paths that may or may not correspond to a valid Drupal route. @param string $user_input User input for a link or path. The first character must be one of the following characters: - '/': A path within the current site. This path might be to a Drupal route (e.g., '/admin'), to a file (e.g., '/README.txt'), or to something processed by a non-Drupal script (e.g., '/not/a/drupal/page'). If the path matches a Drupal route, then the URL generation will include Drupal's path processors (e.g., language-prefixing and aliasing). Otherwise, the URL generation will just append the passed-in path to Drupal's base path. - '?': A query string for the current page or resource. - '#': A fragment (jump-link) on the current page or resource. This helps reduce ambiguity for user-entered links and paths, and supports user interfaces where users may normally use auto-completion to search for existing resources, but also may type one of these characters to link to (e.g.) a specific path on the site. (With regard to the URI specification, the user input is treated as a @link https://tools.ietf.org/html/rfc3986#section-4.2 relative URI reference @endlink where the relative part is of type @link https://tools.ietf.org/html/rfc3986#section-3.3 path-abempty @endlink.) @param array $options (optional) An array of options. See Url::fromUri() for details. @return static A new Url object based on user input. @throws \InvalidArgumentException Thrown when the user input does not begin with one of the following characters: '/', '?', or '#'. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:207
Checks a Url render element against applicable access check services. @param array $element A render element as returned from \Drupal\Core\Url::toRenderArray(). @return bool Returns TRUE if the current user has access to the url, otherwise FALSE. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:832
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/Url.php:902
Constructs a new Url object. In most cases, use Url::fromRoute() or Url::fromUri() rather than constructing Url objects directly in order to avoid ambiguity and make your code more self-documenting. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of parameter names and values. @param array $options See \Drupal\Core\Url::fromUri() for details. @see static::fromRoute() @see static::fromUri() @todo Update this documentation for non-routed URIs in https://www.drupal.org/node/2346787 Defined in <ROOT>/core/lib/Drupal/Core/Url.php:124
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:30
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65
Checks this Url object against applicable access check services. Determines whether the route is accessible or not. @param \Drupal\Core\Session\AccountInterface $account (optional) Run access checks for this account. Defaults to the current user. @return bool Returns TRUE if the user has access to the url, otherwise FALSE. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:816
Returns the internal path (system path) for this route. This path will not include any prefixes, fragments, or query strings. @return string The internal path for this route. @throws \UnexpectedValueException. If this is a URI with no corresponding system path. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:793
Gets a specific option. See \Drupal\Core\Url::fromUri() for details on the options. @param string $name The name of the option. @return mixed The value for a specific option, or NULL if it does not exist. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:648
Returns the URL options. @return array The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:633
Returns the route name. @return string @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:562
Returns the route parameters. @return array @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:578
Returns the URI value for this Url object. Only to be used if self::$unrouted is TRUE. @return string A URI not connected to a route. May be an external URL. @throws \UnexpectedValueException Thrown when the URI was requested for a routed URL. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:715
Indicates if this Url is external. @return bool Defined in <ROOT>/core/lib/Drupal/Core/Url.php:541
Indicates if this Url has a Drupal route. @return bool Defined in <ROOT>/core/lib/Drupal/Core/Url.php:550
Merges the URL options with any currently set. In the case of conflict with existing options, the new options will replace the existing options. @param array $options The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:699
Sets the value of the absolute option for this Url. @param bool $absolute (optional) Whether to make this Url absolute or not. Defaults to TRUE. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:731
Sets a specific option. See \Drupal\Core\Url::fromUri() for details on the options. @param string $name The name of the option. @param mixed $value The option value. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:682
Sets the URL options. @param array $options The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:665
Sets a specific route parameter. @param string $key The key of the route parameter. @param mixed $value The route parameter. @return $this @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:618
Sets the route parameters. @param array $parameters The array of parameters. @return $this @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:597
Sets the unrouted URL assembler. @param \Drupal\Core\Utility\UnroutedUrlAssemblerInterface $url_assembler The unrouted URL assembler. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:894
Sets the URL generator. @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator (optional) The URL generator, specify NULL to reset it. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:880
Returns the route information for a render array. @return array An associative array suitable for a render array. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:771
Generates the string URL representation for this Url object. For an external URL, the string will contain the input plus any query string or fragment specified by the options array. If this Url object was constructed from a Drupal route or from an internal URI (URIs using the internal:, base:, or entity: schemes), the returned string will either be a relative URL like /node/1 or an absolute URL like http://example.com/node/1 depending on the options array, plus any specified query string or fragment. @param bool $collect_bubbleable_metadata (optional) Defaults to FALSE. When TRUE, both the generated URL and its associated bubbleable metadata are returned. @return string|\Drupal\Core\GeneratedUrl A string URL. When $collect_bubbleable_metadata is TRUE, a GeneratedUrl object is returned, containing the generated URL plus bubbleable metadata. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:757
Generates a URI string that represents the data in the Url object. The URI will typically have the scheme of route: even if the object was constructed using an entity: or internal: scheme. A internal: URI that does not match a Drupal route with be returned here with the base: scheme, and external URLs will be returned in their original form. @return string A URI representation of the Url object data. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:521
Create a new Url object for entity URIs. @param array $uri_parts Parts from an URI of the form entity:{entity_type}/{entity_id} as from parse_url(). @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @param string $uri The original entered URI. @return static A new Url object for an entity's canonical route. @throws \InvalidArgumentException Thrown if the entity URI is invalid. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:350
Creates a new Url object for 'internal:' URIs. Important note: the URI minus the scheme can NOT simply be validated by a \Drupal\Core\Path\PathValidatorInterface implementation. The semantics of the 'internal:' URI scheme are different: - PathValidatorInterface accepts paths without a leading slash (e.g. 'node/add') as well as 2 special paths: '<front>' and '<none>', which are mapped to the correspondingly named routes. - 'internal:' URIs store paths with a leading slash that represents the root — i.e. the front page — (e.g. 'internal:/node/add'), and doesn't have any exceptions. To clarify, a few examples of path plus corresponding 'internal:' URI: - 'node/add' -> 'internal:/node/add' - 'node/add?foo=bar' -> 'internal:/node/add?foo=bar' - 'node/add#kitten' -> 'internal:/node/add#kitten' - '<front>' -> 'internal:/' - '<front>foo=bar' -> 'internal:/?foo=bar' - '<front>#kitten' -> 'internal:/#kitten' - '<none>' -> 'internal:' - '<none>foo=bar' -> 'internal:?foo=bar' - '<none>#kitten' -> 'internal:#kitten' Therefore, when using a PathValidatorInterface to validate 'internal:' URIs, we must map: - 'internal:' (path component is '') to the special '<none>' path - 'internal:/' (path component is '/') to the special '<front>' path - 'internal:/some-path' (path component is '/some-path') to 'some-path' @param array $uri_parts Parts from an URI of the form internal:{path} as from parse_url(). @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @return static A new Url object for a 'internal:' URI. @throws \InvalidArgumentException Thrown when the URI's path component doesn't have a leading slash. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:400
Creates a new Url object for 'route:' URIs. @param array $uri_parts Parts from an URI of the form route:{route_name};{route_parameters} as from parse_url(), where the path is the route name optionally followed by a ";" followed by route parameters in key=value format with & separators. @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @param string $uri The original passed in URI. @return static A new Url object for a 'route:' URI. @throws \InvalidArgumentException Thrown when the route URI does not have a route name. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:449
@return \Drupal\Core\Access\AccessManagerInterface Defined in <ROOT>/core/lib/Drupal/Core/Url.php:839
Sets this Url to encapsulate an unrouted URI. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:499
Gets the unrouted URL assembler for non-Drupal URLs. @return \Drupal\Core\Utility\UnroutedUrlAssemblerInterface The unrouted URL assembler. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:865
Gets the URL generator. @return \Drupal\Core\Routing\UrlGeneratorInterface The URL generator. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:852
Creates a Link object from a given route name and parameters. @param string $text The text of the link. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of parameter names and values. @param array $options The options parameter takes exactly the same structure. See \Drupal\Core\Url::fromUri() for details. @return static Defined in <ROOT>/core/lib/Drupal/Core/Link.php:62
Creates a Link object from a given Url object. @param string|array|\Drupal\Component\Render\MarkupInterface $text The link text for the anchor tag as a translated string or render array. @param \Drupal\Core\Url $url The Url to create the link for. @return static Defined in <ROOT>/core/lib/Drupal/Core/Link.php:76
Constructs a new Link object. @param string $text The text of the link. @param \Drupal\Core\Url $url The url object. Defined in <ROOT>/core/lib/Drupal/Core/Link.php:42
Returns the text of the link. @return string Defined in <ROOT>/core/lib/Drupal/Core/Link.php:85
Returns the URL of the link. @return \Drupal\Core\Url Defined in <ROOT>/core/lib/Drupal/Core/Link.php:107
Sets the link generator service. @param \Drupal\Core\Utility\LinkGeneratorInterface $generator The link generator service. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:173
Sets the new text of the link. @param string $text The new text. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:97
Sets the URL of this link. @param Url $url The URL object to set @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:119
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/Link.php:144
Generates the HTML for this Link object. Do not use this method to render a link in an HTML context. In an HTML context, self::toRenderable() should be used so that render cache information is maintained. However, there might be use cases such as tests and non-HTML contexts where calling this method directly makes sense. @return \Drupal\Core\GeneratedLink The link HTML markup. @see \Drupal\Core\Link::toRenderable() Defined in <ROOT>/core/lib/Drupal/Core/Link.php:137
Returns the link generator. @return \Drupal\Core\Utility\LinkGeneratorInterface The link generator Defined in <ROOT>/core/lib/Drupal/Core/Link.php:158
*DEPTH TOO GREAT*
Returns the Url object matching a request. SECURITY NOTE: The request path is not checked to be valid and accessible by the current user to allow storing and reusing Url objects by different users. The 'path.validator' service getUrlIfValid() method should be used instead of this one if validation and access check is desired. Otherwise, 'access_manager' service checkNamedRoute() method should be used on the router name and parameters stored in the Url object returned by this method. @param \Symfony\Component\HttpFoundation\Request $request A request object. @return static A Url object. Warning: the object is created even if the current user would get an access denied running the same request via the normal page flow. @throws \Drupal\Core\Routing\MatchingRouteNotFoundException Thrown when the request cannot be matched. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:485
Creates a new Url object for a URL that has a Drupal route. This method is for URLs that have Drupal routes (that is, most pages generated by Drupal). For non-routed local URIs relative to the base path (like robots.txt) use Url::fromUri() with the base: scheme. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of route parameter names and values. @param array $options See \Drupal\Core\Url::fromUri() for details. @return static A new Url object for a routed (internal to Drupal) URL. @see \Drupal\Core\Url::fromUserInput() @see \Drupal\Core\Url::fromUri() Defined in <ROOT>/core/lib/Drupal/Core/Url.php:150
Creates a new URL object from a route match. @param \Drupal\Core\Routing\RouteMatchInterface $route_match The route match. @return static Defined in <ROOT>/core/lib/Drupal/Core/Url.php:162
Creates a new Url object from a URI. This method is for generating URLs for URIs that: - do not have Drupal routes: both external URLs and unrouted local URIs like base:robots.txt - do have a Drupal route but have a custom scheme to simplify linking. Currently, there is only the entity: scheme (This allows URIs of the form entity:{entity_type}/{entity_id}. For example: entity:node/1 resolves to the entity.node.canonical route with a node parameter of 1.) For URLs that have Drupal routes (that is, most pages generated by Drupal), use Url::fromRoute(). @param string $uri The URI of the resource including the scheme. For user input that may correspond to a Drupal route, use internal: for the scheme. For paths that are known not to be handled by the Drupal routing system (such as static files), use base: for the scheme to get a link relative to the Drupal base path (like the <base> HTML element). For a link to an entity you may use entity:{entity_type}/{entity_id} URIs. The internal: scheme should be avoided except when processing actual user input that may or may not correspond to a Drupal route. Normally use Url::fromRoute() for code linking to any any Drupal page. @param array $options (optional) An associative array of additional URL options, with the following elements: - 'query': An array of query key/value-pairs (without any URL-encoding) to append to the URL. - 'fragment': A fragment identifier (named anchor) to append to the URL. Do not include the leading '#' character. - 'absolute': Defaults to FALSE. Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed. - 'attributes': An associative array of HTML attributes that will be added to the anchor tag if you use the \Drupal\Core\Link class to make the link. - 'language': An optional language object used to look up the alias for the URL. If $options['language'] is omitted, it defaults to the current language for the language type LanguageInterface::TYPE_URL. - 'https': Whether this URL should point to a secure location. If not defined, the current scheme is used, so the user stays on HTTP or HTTPS respectively. TRUE enforces HTTPS and FALSE enforces HTTP. @return static A new Url object with properties depending on the URI scheme. Call the access() method on this to do access checking. @throws \InvalidArgumentException Thrown when the passed in path has no scheme. @see \Drupal\Core\Url::fromRoute() @see \Drupal\Core\Url::fromUserInput() Defined in <ROOT>/core/lib/Drupal/Core/Url.php:275
Creates a Url object for a relative URI reference submitted by user input. Use this method to create a URL for user-entered paths that may or may not correspond to a valid Drupal route. @param string $user_input User input for a link or path. The first character must be one of the following characters: - '/': A path within the current site. This path might be to a Drupal route (e.g., '/admin'), to a file (e.g., '/README.txt'), or to something processed by a non-Drupal script (e.g., '/not/a/drupal/page'). If the path matches a Drupal route, then the URL generation will include Drupal's path processors (e.g., language-prefixing and aliasing). Otherwise, the URL generation will just append the passed-in path to Drupal's base path. - '?': A query string for the current page or resource. - '#': A fragment (jump-link) on the current page or resource. This helps reduce ambiguity for user-entered links and paths, and supports user interfaces where users may normally use auto-completion to search for existing resources, but also may type one of these characters to link to (e.g.) a specific path on the site. (With regard to the URI specification, the user input is treated as a @link https://tools.ietf.org/html/rfc3986#section-4.2 relative URI reference @endlink where the relative part is of type @link https://tools.ietf.org/html/rfc3986#section-3.3 path-abempty @endlink.) @param array $options (optional) An array of options. See Url::fromUri() for details. @return static A new Url object based on user input. @throws \InvalidArgumentException Thrown when the user input does not begin with one of the following characters: '/', '?', or '#'. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:207
Checks a Url render element against applicable access check services. @param array $element A render element as returned from \Drupal\Core\Url::toRenderArray(). @return bool Returns TRUE if the current user has access to the url, otherwise FALSE. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:832
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/Url.php:902
Constructs a new Url object. In most cases, use Url::fromRoute() or Url::fromUri() rather than constructing Url objects directly in order to avoid ambiguity and make your code more self-documenting. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of parameter names and values. @param array $options See \Drupal\Core\Url::fromUri() for details. @see static::fromRoute() @see static::fromUri() @todo Update this documentation for non-routed URIs in https://www.drupal.org/node/2346787 Defined in <ROOT>/core/lib/Drupal/Core/Url.php:124
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:30
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65
Checks this Url object against applicable access check services. Determines whether the route is accessible or not. @param \Drupal\Core\Session\AccountInterface $account (optional) Run access checks for this account. Defaults to the current user. @return bool Returns TRUE if the user has access to the url, otherwise FALSE. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:816
Returns the internal path (system path) for this route. This path will not include any prefixes, fragments, or query strings. @return string The internal path for this route. @throws \UnexpectedValueException. If this is a URI with no corresponding system path. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:793
Gets a specific option. See \Drupal\Core\Url::fromUri() for details on the options. @param string $name The name of the option. @return mixed The value for a specific option, or NULL if it does not exist. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:648
Returns the URL options. @return array The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:633
Returns the route name. @return string @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:562
Returns the route parameters. @return array @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:578
Returns the URI value for this Url object. Only to be used if self::$unrouted is TRUE. @return string A URI not connected to a route. May be an external URL. @throws \UnexpectedValueException Thrown when the URI was requested for a routed URL. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:715
Indicates if this Url is external. @return bool Defined in <ROOT>/core/lib/Drupal/Core/Url.php:541
Indicates if this Url has a Drupal route. @return bool Defined in <ROOT>/core/lib/Drupal/Core/Url.php:550
Merges the URL options with any currently set. In the case of conflict with existing options, the new options will replace the existing options. @param array $options The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:699
Sets the value of the absolute option for this Url. @param bool $absolute (optional) Whether to make this Url absolute or not. Defaults to TRUE. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:731
Sets a specific option. See \Drupal\Core\Url::fromUri() for details on the options. @param string $name The name of the option. @param mixed $value The option value. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:682
Sets the URL options. @param array $options The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:665
Sets a specific route parameter. @param string $key The key of the route parameter. @param mixed $value The route parameter. @return $this @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:618
Sets the route parameters. @param array $parameters The array of parameters. @return $this @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:597
Sets the unrouted URL assembler. @param \Drupal\Core\Utility\UnroutedUrlAssemblerInterface $url_assembler The unrouted URL assembler. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:894
Sets the URL generator. @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator (optional) The URL generator, specify NULL to reset it. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:880
Returns the route information for a render array. @return array An associative array suitable for a render array. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:771
Generates the string URL representation for this Url object. For an external URL, the string will contain the input plus any query string or fragment specified by the options array. If this Url object was constructed from a Drupal route or from an internal URI (URIs using the internal:, base:, or entity: schemes), the returned string will either be a relative URL like /node/1 or an absolute URL like http://example.com/node/1 depending on the options array, plus any specified query string or fragment. @param bool $collect_bubbleable_metadata (optional) Defaults to FALSE. When TRUE, both the generated URL and its associated bubbleable metadata are returned. @return string|\Drupal\Core\GeneratedUrl A string URL. When $collect_bubbleable_metadata is TRUE, a GeneratedUrl object is returned, containing the generated URL plus bubbleable metadata. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:757
Generates a URI string that represents the data in the Url object. The URI will typically have the scheme of route: even if the object was constructed using an entity: or internal: scheme. A internal: URI that does not match a Drupal route with be returned here with the base: scheme, and external URLs will be returned in their original form. @return string A URI representation of the Url object data. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:521
Create a new Url object for entity URIs. @param array $uri_parts Parts from an URI of the form entity:{entity_type}/{entity_id} as from parse_url(). @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @param string $uri The original entered URI. @return static A new Url object for an entity's canonical route. @throws \InvalidArgumentException Thrown if the entity URI is invalid. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:350
Creates a new Url object for 'internal:' URIs. Important note: the URI minus the scheme can NOT simply be validated by a \Drupal\Core\Path\PathValidatorInterface implementation. The semantics of the 'internal:' URI scheme are different: - PathValidatorInterface accepts paths without a leading slash (e.g. 'node/add') as well as 2 special paths: '<front>' and '<none>', which are mapped to the correspondingly named routes. - 'internal:' URIs store paths with a leading slash that represents the root — i.e. the front page — (e.g. 'internal:/node/add'), and doesn't have any exceptions. To clarify, a few examples of path plus corresponding 'internal:' URI: - 'node/add' -> 'internal:/node/add' - 'node/add?foo=bar' -> 'internal:/node/add?foo=bar' - 'node/add#kitten' -> 'internal:/node/add#kitten' - '<front>' -> 'internal:/' - '<front>foo=bar' -> 'internal:/?foo=bar' - '<front>#kitten' -> 'internal:/#kitten' - '<none>' -> 'internal:' - '<none>foo=bar' -> 'internal:?foo=bar' - '<none>#kitten' -> 'internal:#kitten' Therefore, when using a PathValidatorInterface to validate 'internal:' URIs, we must map: - 'internal:' (path component is '') to the special '<none>' path - 'internal:/' (path component is '/') to the special '<front>' path - 'internal:/some-path' (path component is '/some-path') to 'some-path' @param array $uri_parts Parts from an URI of the form internal:{path} as from parse_url(). @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @return static A new Url object for a 'internal:' URI. @throws \InvalidArgumentException Thrown when the URI's path component doesn't have a leading slash. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:400
Creates a new Url object for 'route:' URIs. @param array $uri_parts Parts from an URI of the form route:{route_name};{route_parameters} as from parse_url(), where the path is the route name optionally followed by a ";" followed by route parameters in key=value format with & separators. @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @param string $uri The original passed in URI. @return static A new Url object for a 'route:' URI. @throws \InvalidArgumentException Thrown when the route URI does not have a route name. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:449
@return \Drupal\Core\Access\AccessManagerInterface Defined in <ROOT>/core/lib/Drupal/Core/Url.php:839
Sets this Url to encapsulate an unrouted URI. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:499
Gets the unrouted URL assembler for non-Drupal URLs. @return \Drupal\Core\Utility\UnroutedUrlAssemblerInterface The unrouted URL assembler. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:865
Gets the URL generator. @return \Drupal\Core\Routing\UrlGeneratorInterface The URL generator. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:852
Creates a Link object from a given route name and parameters. @param string $text The text of the link. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of parameter names and values. @param array $options The options parameter takes exactly the same structure. See \Drupal\Core\Url::fromUri() for details. @return static Defined in <ROOT>/core/lib/Drupal/Core/Link.php:62
Creates a Link object from a given Url object. @param string|array|\Drupal\Component\Render\MarkupInterface $text The link text for the anchor tag as a translated string or render array. @param \Drupal\Core\Url $url The Url to create the link for. @return static Defined in <ROOT>/core/lib/Drupal/Core/Link.php:76
Constructs a new Link object. @param string $text The text of the link. @param \Drupal\Core\Url $url The url object. Defined in <ROOT>/core/lib/Drupal/Core/Link.php:42
Returns the text of the link. @return string Defined in <ROOT>/core/lib/Drupal/Core/Link.php:85
Returns the URL of the link. @return \Drupal\Core\Url Defined in <ROOT>/core/lib/Drupal/Core/Link.php:107
Sets the link generator service. @param \Drupal\Core\Utility\LinkGeneratorInterface $generator The link generator service. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:173
Sets the new text of the link. @param string $text The new text. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:97
Sets the URL of this link. @param Url $url The URL object to set @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:119
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/Link.php:144
Generates the HTML for this Link object. Do not use this method to render a link in an HTML context. In an HTML context, self::toRenderable() should be used so that render cache information is maintained. However, there might be use cases such as tests and non-HTML contexts where calling this method directly makes sense. @return \Drupal\Core\GeneratedLink The link HTML markup. @see \Drupal\Core\Link::toRenderable() Defined in <ROOT>/core/lib/Drupal/Core/Link.php:137
Returns the link generator. @return \Drupal\Core\Utility\LinkGeneratorInterface The link generator Defined in <ROOT>/core/lib/Drupal/Core/Link.php:158
Returns the Url object matching a request. SECURITY NOTE: The request path is not checked to be valid and accessible by the current user to allow storing and reusing Url objects by different users. The 'path.validator' service getUrlIfValid() method should be used instead of this one if validation and access check is desired. Otherwise, 'access_manager' service checkNamedRoute() method should be used on the router name and parameters stored in the Url object returned by this method. @param \Symfony\Component\HttpFoundation\Request $request A request object. @return static A Url object. Warning: the object is created even if the current user would get an access denied running the same request via the normal page flow. @throws \Drupal\Core\Routing\MatchingRouteNotFoundException Thrown when the request cannot be matched. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:485
Creates a new Url object for a URL that has a Drupal route. This method is for URLs that have Drupal routes (that is, most pages generated by Drupal). For non-routed local URIs relative to the base path (like robots.txt) use Url::fromUri() with the base: scheme. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of route parameter names and values. @param array $options See \Drupal\Core\Url::fromUri() for details. @return static A new Url object for a routed (internal to Drupal) URL. @see \Drupal\Core\Url::fromUserInput() @see \Drupal\Core\Url::fromUri() Defined in <ROOT>/core/lib/Drupal/Core/Url.php:150
Creates a new URL object from a route match. @param \Drupal\Core\Routing\RouteMatchInterface $route_match The route match. @return static Defined in <ROOT>/core/lib/Drupal/Core/Url.php:162
Creates a new Url object from a URI. This method is for generating URLs for URIs that: - do not have Drupal routes: both external URLs and unrouted local URIs like base:robots.txt - do have a Drupal route but have a custom scheme to simplify linking. Currently, there is only the entity: scheme (This allows URIs of the form entity:{entity_type}/{entity_id}. For example: entity:node/1 resolves to the entity.node.canonical route with a node parameter of 1.) For URLs that have Drupal routes (that is, most pages generated by Drupal), use Url::fromRoute(). @param string $uri The URI of the resource including the scheme. For user input that may correspond to a Drupal route, use internal: for the scheme. For paths that are known not to be handled by the Drupal routing system (such as static files), use base: for the scheme to get a link relative to the Drupal base path (like the <base> HTML element). For a link to an entity you may use entity:{entity_type}/{entity_id} URIs. The internal: scheme should be avoided except when processing actual user input that may or may not correspond to a Drupal route. Normally use Url::fromRoute() for code linking to any any Drupal page. @param array $options (optional) An associative array of additional URL options, with the following elements: - 'query': An array of query key/value-pairs (without any URL-encoding) to append to the URL. - 'fragment': A fragment identifier (named anchor) to append to the URL. Do not include the leading '#' character. - 'absolute': Defaults to FALSE. Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed. - 'attributes': An associative array of HTML attributes that will be added to the anchor tag if you use the \Drupal\Core\Link class to make the link. - 'language': An optional language object used to look up the alias for the URL. If $options['language'] is omitted, it defaults to the current language for the language type LanguageInterface::TYPE_URL. - 'https': Whether this URL should point to a secure location. If not defined, the current scheme is used, so the user stays on HTTP or HTTPS respectively. TRUE enforces HTTPS and FALSE enforces HTTP. @return static A new Url object with properties depending on the URI scheme. Call the access() method on this to do access checking. @throws \InvalidArgumentException Thrown when the passed in path has no scheme. @see \Drupal\Core\Url::fromRoute() @see \Drupal\Core\Url::fromUserInput() Defined in <ROOT>/core/lib/Drupal/Core/Url.php:275
Creates a Url object for a relative URI reference submitted by user input. Use this method to create a URL for user-entered paths that may or may not correspond to a valid Drupal route. @param string $user_input User input for a link or path. The first character must be one of the following characters: - '/': A path within the current site. This path might be to a Drupal route (e.g., '/admin'), to a file (e.g., '/README.txt'), or to something processed by a non-Drupal script (e.g., '/not/a/drupal/page'). If the path matches a Drupal route, then the URL generation will include Drupal's path processors (e.g., language-prefixing and aliasing). Otherwise, the URL generation will just append the passed-in path to Drupal's base path. - '?': A query string for the current page or resource. - '#': A fragment (jump-link) on the current page or resource. This helps reduce ambiguity for user-entered links and paths, and supports user interfaces where users may normally use auto-completion to search for existing resources, but also may type one of these characters to link to (e.g.) a specific path on the site. (With regard to the URI specification, the user input is treated as a @link https://tools.ietf.org/html/rfc3986#section-4.2 relative URI reference @endlink where the relative part is of type @link https://tools.ietf.org/html/rfc3986#section-3.3 path-abempty @endlink.) @param array $options (optional) An array of options. See Url::fromUri() for details. @return static A new Url object based on user input. @throws \InvalidArgumentException Thrown when the user input does not begin with one of the following characters: '/', '?', or '#'. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:207
Checks a Url render element against applicable access check services. @param array $element A render element as returned from \Drupal\Core\Url::toRenderArray(). @return bool Returns TRUE if the current user has access to the url, otherwise FALSE. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:832
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/Url.php:902
Constructs a new Url object. In most cases, use Url::fromRoute() or Url::fromUri() rather than constructing Url objects directly in order to avoid ambiguity and make your code more self-documenting. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of parameter names and values. @param array $options See \Drupal\Core\Url::fromUri() for details. @see static::fromRoute() @see static::fromUri() @todo Update this documentation for non-routed URIs in https://www.drupal.org/node/2346787 Defined in <ROOT>/core/lib/Drupal/Core/Url.php:124
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:30
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65
Checks this Url object against applicable access check services. Determines whether the route is accessible or not. @param \Drupal\Core\Session\AccountInterface $account (optional) Run access checks for this account. Defaults to the current user. @return bool Returns TRUE if the user has access to the url, otherwise FALSE. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:816
Returns the internal path (system path) for this route. This path will not include any prefixes, fragments, or query strings. @return string The internal path for this route. @throws \UnexpectedValueException. If this is a URI with no corresponding system path. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:793
Gets a specific option. See \Drupal\Core\Url::fromUri() for details on the options. @param string $name The name of the option. @return mixed The value for a specific option, or NULL if it does not exist. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:648
Returns the URL options. @return array The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:633
Returns the route name. @return string @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:562
Returns the route parameters. @return array @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:578
Returns the URI value for this Url object. Only to be used if self::$unrouted is TRUE. @return string A URI not connected to a route. May be an external URL. @throws \UnexpectedValueException Thrown when the URI was requested for a routed URL. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:715
Indicates if this Url is external. @return bool Defined in <ROOT>/core/lib/Drupal/Core/Url.php:541
Indicates if this Url has a Drupal route. @return bool Defined in <ROOT>/core/lib/Drupal/Core/Url.php:550
Merges the URL options with any currently set. In the case of conflict with existing options, the new options will replace the existing options. @param array $options The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:699
Sets the value of the absolute option for this Url. @param bool $absolute (optional) Whether to make this Url absolute or not. Defaults to TRUE. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:731
Sets a specific option. See \Drupal\Core\Url::fromUri() for details on the options. @param string $name The name of the option. @param mixed $value The option value. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:682
Sets the URL options. @param array $options The array of options. See \Drupal\Core\Url::fromUri() for details on what it contains. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:665
Sets a specific route parameter. @param string $key The key of the route parameter. @param mixed $value The route parameter. @return $this @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:618
Sets the route parameters. @param array $parameters The array of parameters. @return $this @throws \UnexpectedValueException. If this is a URI with no corresponding route. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:597
Sets the unrouted URL assembler. @param \Drupal\Core\Utility\UnroutedUrlAssemblerInterface $url_assembler The unrouted URL assembler. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:894
Sets the URL generator. @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator (optional) The URL generator, specify NULL to reset it. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:880
Returns the route information for a render array. @return array An associative array suitable for a render array. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:771
Generates the string URL representation for this Url object. For an external URL, the string will contain the input plus any query string or fragment specified by the options array. If this Url object was constructed from a Drupal route or from an internal URI (URIs using the internal:, base:, or entity: schemes), the returned string will either be a relative URL like /node/1 or an absolute URL like http://example.com/node/1 depending on the options array, plus any specified query string or fragment. @param bool $collect_bubbleable_metadata (optional) Defaults to FALSE. When TRUE, both the generated URL and its associated bubbleable metadata are returned. @return string|\Drupal\Core\GeneratedUrl A string URL. When $collect_bubbleable_metadata is TRUE, a GeneratedUrl object is returned, containing the generated URL plus bubbleable metadata. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:757
Generates a URI string that represents the data in the Url object. The URI will typically have the scheme of route: even if the object was constructed using an entity: or internal: scheme. A internal: URI that does not match a Drupal route with be returned here with the base: scheme, and external URLs will be returned in their original form. @return string A URI representation of the Url object data. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:521
Create a new Url object for entity URIs. @param array $uri_parts Parts from an URI of the form entity:{entity_type}/{entity_id} as from parse_url(). @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @param string $uri The original entered URI. @return static A new Url object for an entity's canonical route. @throws \InvalidArgumentException Thrown if the entity URI is invalid. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:350
Creates a new Url object for 'internal:' URIs. Important note: the URI minus the scheme can NOT simply be validated by a \Drupal\Core\Path\PathValidatorInterface implementation. The semantics of the 'internal:' URI scheme are different: - PathValidatorInterface accepts paths without a leading slash (e.g. 'node/add') as well as 2 special paths: '<front>' and '<none>', which are mapped to the correspondingly named routes. - 'internal:' URIs store paths with a leading slash that represents the root — i.e. the front page — (e.g. 'internal:/node/add'), and doesn't have any exceptions. To clarify, a few examples of path plus corresponding 'internal:' URI: - 'node/add' -> 'internal:/node/add' - 'node/add?foo=bar' -> 'internal:/node/add?foo=bar' - 'node/add#kitten' -> 'internal:/node/add#kitten' - '<front>' -> 'internal:/' - '<front>foo=bar' -> 'internal:/?foo=bar' - '<front>#kitten' -> 'internal:/#kitten' - '<none>' -> 'internal:' - '<none>foo=bar' -> 'internal:?foo=bar' - '<none>#kitten' -> 'internal:#kitten' Therefore, when using a PathValidatorInterface to validate 'internal:' URIs, we must map: - 'internal:' (path component is '') to the special '<none>' path - 'internal:/' (path component is '/') to the special '<front>' path - 'internal:/some-path' (path component is '/some-path') to 'some-path' @param array $uri_parts Parts from an URI of the form internal:{path} as from parse_url(). @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @return static A new Url object for a 'internal:' URI. @throws \InvalidArgumentException Thrown when the URI's path component doesn't have a leading slash. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:400
Creates a new Url object for 'route:' URIs. @param array $uri_parts Parts from an URI of the form route:{route_name};{route_parameters} as from parse_url(), where the path is the route name optionally followed by a ";" followed by route parameters in key=value format with & separators. @param array $options An array of options, see \Drupal\Core\Url::fromUri() for details. @param string $uri The original passed in URI. @return static A new Url object for a 'route:' URI. @throws \InvalidArgumentException Thrown when the route URI does not have a route name. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:449
@return \Drupal\Core\Access\AccessManagerInterface Defined in <ROOT>/core/lib/Drupal/Core/Url.php:839
Sets this Url to encapsulate an unrouted URI. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Url.php:499
Gets the unrouted URL assembler for non-Drupal URLs. @return \Drupal\Core\Utility\UnroutedUrlAssemblerInterface The unrouted URL assembler. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:865
Gets the URL generator. @return \Drupal\Core\Routing\UrlGeneratorInterface The URL generator. Defined in <ROOT>/core/lib/Drupal/Core/Url.php:852
Creates a Link object from a given route name and parameters. @param string $text The text of the link. @param string $route_name The name of the route @param array $route_parameters (optional) An associative array of parameter names and values. @param array $options The options parameter takes exactly the same structure. See \Drupal\Core\Url::fromUri() for details. @return static Defined in <ROOT>/core/lib/Drupal/Core/Link.php:62
Creates a Link object from a given Url object. @param string|array|\Drupal\Component\Render\MarkupInterface $text The link text for the anchor tag as a translated string or render array. @param \Drupal\Core\Url $url The Url to create the link for. @return static Defined in <ROOT>/core/lib/Drupal/Core/Link.php:76
Constructs a new Link object. @param string $text The text of the link. @param \Drupal\Core\Url $url The url object. Defined in <ROOT>/core/lib/Drupal/Core/Link.php:42
Returns the text of the link. @return string Defined in <ROOT>/core/lib/Drupal/Core/Link.php:85
Returns the URL of the link. @return \Drupal\Core\Url Defined in <ROOT>/core/lib/Drupal/Core/Link.php:107
Sets the link generator service. @param \Drupal\Core\Utility\LinkGeneratorInterface $generator The link generator service. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:173
Sets the new text of the link. @param string $text The new text. @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:97
Sets the URL of this link. @param Url $url The URL object to set @return $this Defined in <ROOT>/core/lib/Drupal/Core/Link.php:119
{@inheritdoc} Defined in <ROOT>/core/lib/Drupal/Core/Link.php:144
Generates the HTML for this Link object. Do not use this method to render a link in an HTML context. In an HTML context, self::toRenderable() should be used so that render cache information is maintained. However, there might be use cases such as tests and non-HTML contexts where calling this method directly makes sense. @return \Drupal\Core\GeneratedLink The link HTML markup. @see \Drupal\Core\Link::toRenderable() Defined in <ROOT>/core/lib/Drupal/Core/Link.php:137
Returns the link generator. @return \Drupal\Core\Utility\LinkGeneratorInterface The link generator Defined in <ROOT>/core/lib/Drupal/Core/Link.php:158
Cooper Standard engages with many startups, universities and suppliers. Check out some of our recent success stories.
University
Partnering with Olsen Research Group in the MIT Department of Chemical Engineering we characterized the polymerization kinematics and rheological properties of Fortrex™, a new super-elastomer developed by Cooper Standard.
Seed Accelerator
Cooper Standard is a strong supporter of Techstars and has provided mentoring and pilot opportunities to many startups. Chris Couch, Senior Vice President and Chief Technology Officer, Cooper Standard and head of CS Open Innovation, was named a Techstars’ All-Star Mentor in 2019.
Startup
Cooper Standard partnered with noodle.ai, a leading provider of advanced Enterprise AI® applications and member of the Forbes A.I. 50, to develop predictive machine learning models for product quality for a rubber extrusion process. This work led to significant insights into the causes of product quality variability and enabled multiple manufacturing improvements due to AI-powered recommendations.
Startup
Cooper Standard and Uncountable developed an artificial intelligence platform to accelerate discovery of polymer compound formulations with superior properties, cutting compound development time by up to 80%. This proprietary software was nominated as a finalist for the 2019 Automotive News PACE Innovation Award.
Startup
Cooper Standard partnered with Botanisol Analytics to develop a compact, portable, advanced Raman spectrometer that allows detailed analysis of volatile organic compounds emitted from engineered polymers. This technology enables isolation of odorous compounds to develop superior low-odor materials.