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:476

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 \Drupal\Core\Url
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:141

Creates a new URL object from a route match.
@param \Drupal\Core\Routing\RouteMatchInterface $route_match
The route match.
@return $this
Defined in <ROOT>core/lib/Drupal/Core/Url.php:153

→public staticfromUri($uri, $options = array()) -> \Drupal\Core\Url

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 \Drupal\Core\Url
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:266

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:198

→public staticrenderAccess(array $element) -> bool

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:823

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:115

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:807

→publicgetInternalPath() -> string

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:784

→publicgetOption($name) -> mixed

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:639

→publicgetOptions() -> array

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:624

→publicgetRouteName() -> string

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:553

→publicgetRouteParameters() -> array

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:569

→publicgetUri() -> string

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:706

→publicisExternal() -> bool

Indicates if this Url is external.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:532

→publicisRouted() -> bool

Indicates if this Url has a Drupal route.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:541

→publicmergeOptions($options) -> $this

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:690

→publicsetAbsolute($absolute = true) -> $this

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:722

→publicsetOption($name, $value) -> $this

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:673

→publicsetOptions($options) -> $this

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:656

→publicsetRouteParameter($key, $value) -> $this

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:609

→publicsetRouteParameters($parameters) -> $this

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:588

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:748

→publictoUriString() -> string

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:512

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 \Drupal\Core\Url
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:341

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 \Drupal\Core\Url
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:391

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 \Drupal\Core\Url
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:440

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:544

→public staticcreateFromLangcode($langcode) -> $this

Creates a configurable language object from a langcode.
@param string $langcode
The language code to use to create the object.
@return $this
@see \Drupal\Core\Language\LanguageManager::getStandardLanguageList()
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:244

→public staticload($id)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:524

→public staticloadMultiple(array $ids = NULL)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:534

{@inheritdoc}
@throws \DeleteDefaultLanguageException
Exception thrown if we're trying to delete the default language entity.
This is not allowed as a site must have a default language.
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:151

Helper callback for uasort() to sort configuration entities by weight and label.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:251

→public__construct(array $values, $entity_type)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:112

→public__sleep()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:353

→public__wakeup()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65

Overrides Entity::isNew().
EntityInterface::enforceIsNew() is only supported for newly created
configuration entities but has no effect after saving, since each
configuration entity is unique.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:150

→publicisSyncing()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:219

→publicisUninstalling()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:233

→publiclabel()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:166

→publiclanguage()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:372

→publiclink($text = NULL, $rel = edit-form, array $options = array())

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:422

→publicmergeCacheMaxAge($max_age)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Cache/RefinableCacheableDependencyTrait.php:51

→publiconDependencyRemoval(array $dependencies)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:500

→publicpostCreate(Drupal\Core\Entity\EntityStorageInterface $storage)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:456

{@inheritdoc}
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:526

Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
Note that this function should only be called from implementations of
\Drupal\Core\Config\Entity\ConfigEntityInterface::calculateDependencies(),
as dependencies are recalculated during every entity save.
@see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency()
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:454

→protectedaddDependencyTrait($type, $name) -> $this

Adds a dependency.
@param string $type
Type of dependency being added: 'module', 'theme', 'config', 'content'.
@param string $name
If $type is 'module' or 'theme', the name of the module or theme. If
$type is 'config' or 'content', the result of
EntityInterface::getConfigDependencyName().
@see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
@return $this
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Entity/DependencyTrait.php:31

Calculates and adds dependencies of a specific plugin instance.
Dependencies are added for the module that provides the plugin, as well
as any dependencies declared by the instance's calculateDependencies()
method, if it implements
\Drupal\Component\Plugin\DependentPluginInterface.
@param \Drupal\Component\Plugin\PluginInspectionInterface $instance
The plugin instance.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php:29

Gets the entity manager.
@return \Drupal\Core\Entity\EntityManagerInterface
@deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
Use \Drupal::entityTypeManager() instead in most cases. If the needed
method is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
deprecated \Drupal\Core\Entity\EntityManager to find the
correct interface or service.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:79

{@inheritdoc}
Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:516

Gets an array of placeholders for this entity.
Individual entity classes may override this method to add additional
placeholders if desired. If so, they should be sure to replicate the
property caching logic.
@param string $rel
The link relationship type, for example: canonical or edit-form.
@return array
An array of URI placeholders.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:315

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:476

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 \Drupal\Core\Url
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:141

Creates a new URL object from a route match.
@param \Drupal\Core\Routing\RouteMatchInterface $route_match
The route match.
@return $this
Defined in <ROOT>core/lib/Drupal/Core/Url.php:153

→public staticfromUri($uri, $options = array()) -> \Drupal\Core\Url

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 \Drupal\Core\Url
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:266

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:198

→public staticrenderAccess(array $element) -> bool

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:823

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:115

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:807

→publicgetInternalPath() -> string

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:784

→publicgetOption($name) -> mixed

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:639

→publicgetOptions() -> array

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:624

→publicgetRouteName() -> string

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:553

→publicgetRouteParameters() -> array

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:569

→publicgetUri() -> string

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:706

→publicisExternal() -> bool

Indicates if this Url is external.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:532

→publicisRouted() -> bool

Indicates if this Url has a Drupal route.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:541

→publicmergeOptions($options) -> $this

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:690

→publicsetAbsolute($absolute = true) -> $this

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:722

→publicsetOption($name, $value) -> $this

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:673

→publicsetOptions($options) -> $this

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:656

→publicsetRouteParameter($key, $value) -> $this

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:609

→publicsetRouteParameters($parameters) -> $this

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:588

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:748

→publictoUriString() -> string

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:512

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 \Drupal\Core\Url
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:341

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 \Drupal\Core\Url
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:391

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 \Drupal\Core\Url
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:440

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:544

→public staticcreateFromLangcode($langcode) -> $this

Creates a configurable language object from a langcode.
@param string $langcode
The language code to use to create the object.
@return $this
@see \Drupal\Core\Language\LanguageManager::getStandardLanguageList()
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:244

→public staticload($id)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:524

→public staticloadMultiple(array $ids = NULL)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:534

{@inheritdoc}
@throws \DeleteDefaultLanguageException
Exception thrown if we're trying to delete the default language entity.
This is not allowed as a site must have a default language.
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:151

Helper callback for uasort() to sort configuration entities by weight and label.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:251

→public__construct(array $values, $entity_type)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:112

→public__sleep()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:353

→public__wakeup()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65

Overrides Entity::isNew().
EntityInterface::enforceIsNew() is only supported for newly created
configuration entities but has no effect after saving, since each
configuration entity is unique.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:150

→publicisSyncing()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:219

→publicisUninstalling()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:233

→publiclabel()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:166

→publiclanguage()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:372

→publiclink($text = NULL, $rel = edit-form, array $options = array())

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:422

→publicmergeCacheMaxAge($max_age)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Cache/RefinableCacheableDependencyTrait.php:51

→publiconDependencyRemoval(array $dependencies)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:500

→publicpostCreate(Drupal\Core\Entity\EntityStorageInterface $storage)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:456

{@inheritdoc}
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:526

Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
Note that this function should only be called from implementations of
\Drupal\Core\Config\Entity\ConfigEntityInterface::calculateDependencies(),
as dependencies are recalculated during every entity save.
@see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency()
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:454

→protectedaddDependencyTrait($type, $name) -> $this

Adds a dependency.
@param string $type
Type of dependency being added: 'module', 'theme', 'config', 'content'.
@param string $name
If $type is 'module' or 'theme', the name of the module or theme. If
$type is 'config' or 'content', the result of
EntityInterface::getConfigDependencyName().
@see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
@return $this
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Entity/DependencyTrait.php:31

Calculates and adds dependencies of a specific plugin instance.
Dependencies are added for the module that provides the plugin, as well
as any dependencies declared by the instance's calculateDependencies()
method, if it implements
\Drupal\Component\Plugin\DependentPluginInterface.
@param \Drupal\Component\Plugin\PluginInspectionInterface $instance
The plugin instance.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php:29

Gets the entity manager.
@return \Drupal\Core\Entity\EntityManagerInterface
@deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
Use \Drupal::entityTypeManager() instead in most cases. If the needed
method is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
deprecated \Drupal\Core\Entity\EntityManager to find the
correct interface or service.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:79

{@inheritdoc}
Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:516

Gets an array of placeholders for this entity.
Individual entity classes may override this method to add additional
placeholders if desired. If so, they should be sure to replicate the
property caching logic.
@param string $rel
The link relationship type, for example: canonical or edit-form.
@return array
An array of URI placeholders.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:315

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:476

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 \Drupal\Core\Url
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:141

Creates a new URL object from a route match.
@param \Drupal\Core\Routing\RouteMatchInterface $route_match
The route match.
@return $this
Defined in <ROOT>core/lib/Drupal/Core/Url.php:153

→public staticfromUri($uri, $options = array()) -> \Drupal\Core\Url

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 \Drupal\Core\Url
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:266

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:198

→public staticrenderAccess(array $element) -> bool

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:823

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:115

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:807

→publicgetInternalPath() -> string

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:784

→publicgetOption($name) -> mixed

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:639

→publicgetOptions() -> array

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:624

→publicgetRouteName() -> string

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:553

→publicgetRouteParameters() -> array

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:569

→publicgetUri() -> string

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:706

→publicisExternal() -> bool

Indicates if this Url is external.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:532

→publicisRouted() -> bool

Indicates if this Url has a Drupal route.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:541

→publicmergeOptions($options) -> $this

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:690

→publicsetAbsolute($absolute = true) -> $this

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:722

→publicsetOption($name, $value) -> $this

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:673

→publicsetOptions($options) -> $this

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:656

→publicsetRouteParameter($key, $value) -> $this

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:609

→publicsetRouteParameters($parameters) -> $this

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:588

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:748

→publictoUriString() -> string

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:512

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 \Drupal\Core\Url
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:341

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 \Drupal\Core\Url
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:391

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 \Drupal\Core\Url
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:440

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:544

→public staticcreateFromLangcode($langcode) -> $this

Creates a configurable language object from a langcode.
@param string $langcode
The language code to use to create the object.
@return $this
@see \Drupal\Core\Language\LanguageManager::getStandardLanguageList()
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:244

→public staticload($id)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:524

→public staticloadMultiple(array $ids = NULL)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:534

{@inheritdoc}
@throws \DeleteDefaultLanguageException
Exception thrown if we're trying to delete the default language entity.
This is not allowed as a site must have a default language.
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:151

Helper callback for uasort() to sort configuration entities by weight and label.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:251

→public__construct(array $values, $entity_type)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:112

→public__sleep()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:353

→public__wakeup()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65

Overrides Entity::isNew().
EntityInterface::enforceIsNew() is only supported for newly created
configuration entities but has no effect after saving, since each
configuration entity is unique.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:150

→publicisSyncing()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:219

→publicisUninstalling()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:233

→publiclabel()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:166

→publiclanguage()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:372

→publiclink($text = NULL, $rel = edit-form, array $options = array())

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:422

→publicmergeCacheMaxAge($max_age)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Cache/RefinableCacheableDependencyTrait.php:51

→publiconDependencyRemoval(array $dependencies)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:500

→publicpostCreate(Drupal\Core\Entity\EntityStorageInterface $storage)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:456

{@inheritdoc}
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:526

Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
Note that this function should only be called from implementations of
\Drupal\Core\Config\Entity\ConfigEntityInterface::calculateDependencies(),
as dependencies are recalculated during every entity save.
@see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency()
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:454

→protectedaddDependencyTrait($type, $name) -> $this

Adds a dependency.
@param string $type
Type of dependency being added: 'module', 'theme', 'config', 'content'.
@param string $name
If $type is 'module' or 'theme', the name of the module or theme. If
$type is 'config' or 'content', the result of
EntityInterface::getConfigDependencyName().
@see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
@return $this
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Entity/DependencyTrait.php:31

Calculates and adds dependencies of a specific plugin instance.
Dependencies are added for the module that provides the plugin, as well
as any dependencies declared by the instance's calculateDependencies()
method, if it implements
\Drupal\Component\Plugin\DependentPluginInterface.
@param \Drupal\Component\Plugin\PluginInspectionInterface $instance
The plugin instance.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php:29

Gets the entity manager.
@return \Drupal\Core\Entity\EntityManagerInterface
@deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
Use \Drupal::entityTypeManager() instead in most cases. If the needed
method is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
deprecated \Drupal\Core\Entity\EntityManager to find the
correct interface or service.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:79

{@inheritdoc}
Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:516

Gets an array of placeholders for this entity.
Individual entity classes may override this method to add additional
placeholders if desired. If so, they should be sure to replicate the
property caching logic.
@param string $rel
The link relationship type, for example: canonical or edit-form.
@return array
An array of URI placeholders.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:315

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:476

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 \Drupal\Core\Url
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:141

Creates a new URL object from a route match.
@param \Drupal\Core\Routing\RouteMatchInterface $route_match
The route match.
@return $this
Defined in <ROOT>core/lib/Drupal/Core/Url.php:153

→public staticfromUri($uri, $options = array()) -> \Drupal\Core\Url

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 \Drupal\Core\Url
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:266

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:198

→public staticrenderAccess(array $element) -> bool

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:823

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:115

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:807

→publicgetInternalPath() -> string

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:784

→publicgetOption($name) -> mixed

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:639

→publicgetOptions() -> array

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:624

→publicgetRouteName() -> string

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:553

→publicgetRouteParameters() -> array

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:569

→publicgetUri() -> string

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:706

→publicisExternal() -> bool

Indicates if this Url is external.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:532

→publicisRouted() -> bool

Indicates if this Url has a Drupal route.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:541

→publicmergeOptions($options) -> $this

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:690

→publicsetAbsolute($absolute = true) -> $this

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:722

→publicsetOption($name, $value) -> $this

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:673

→publicsetOptions($options) -> $this

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:656

→publicsetRouteParameter($key, $value) -> $this

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:609

→publicsetRouteParameters($parameters) -> $this

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:588

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:748

→publictoUriString() -> string

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:512

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 \Drupal\Core\Url
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:341

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 \Drupal\Core\Url
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:391

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 \Drupal\Core\Url
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:440

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:544

→public staticcreateFromLangcode($langcode) -> $this

Creates a configurable language object from a langcode.
@param string $langcode
The language code to use to create the object.
@return $this
@see \Drupal\Core\Language\LanguageManager::getStandardLanguageList()
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:244

→public staticload($id)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:524

→public staticloadMultiple(array $ids = NULL)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:534

{@inheritdoc}
@throws \DeleteDefaultLanguageException
Exception thrown if we're trying to delete the default language entity.
This is not allowed as a site must have a default language.
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:151

Helper callback for uasort() to sort configuration entities by weight and label.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:251

→public__construct(array $values, $entity_type)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:112

→public__sleep()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:353

→public__wakeup()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65

Overrides Entity::isNew().
EntityInterface::enforceIsNew() is only supported for newly created
configuration entities but has no effect after saving, since each
configuration entity is unique.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:150

→publicisSyncing()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:219

→publicisUninstalling()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:233

→publiclabel()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:166

→publiclanguage()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:372

→publiclink($text = NULL, $rel = edit-form, array $options = array())

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:422

→publicmergeCacheMaxAge($max_age)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Cache/RefinableCacheableDependencyTrait.php:51

→publiconDependencyRemoval(array $dependencies)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:500

→publicpostCreate(Drupal\Core\Entity\EntityStorageInterface $storage)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:456

{@inheritdoc}
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:526

Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
Note that this function should only be called from implementations of
\Drupal\Core\Config\Entity\ConfigEntityInterface::calculateDependencies(),
as dependencies are recalculated during every entity save.
@see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency()
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:454

→protectedaddDependencyTrait($type, $name) -> $this

Adds a dependency.
@param string $type
Type of dependency being added: 'module', 'theme', 'config', 'content'.
@param string $name
If $type is 'module' or 'theme', the name of the module or theme. If
$type is 'config' or 'content', the result of
EntityInterface::getConfigDependencyName().
@see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
@return $this
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Entity/DependencyTrait.php:31

Calculates and adds dependencies of a specific plugin instance.
Dependencies are added for the module that provides the plugin, as well
as any dependencies declared by the instance's calculateDependencies()
method, if it implements
\Drupal\Component\Plugin\DependentPluginInterface.
@param \Drupal\Component\Plugin\PluginInspectionInterface $instance
The plugin instance.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php:29

Gets the entity manager.
@return \Drupal\Core\Entity\EntityManagerInterface
@deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
Use \Drupal::entityTypeManager() instead in most cases. If the needed
method is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
deprecated \Drupal\Core\Entity\EntityManager to find the
correct interface or service.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:79

{@inheritdoc}
Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:516

Gets an array of placeholders for this entity.
Individual entity classes may override this method to add additional
placeholders if desired. If so, they should be sure to replicate the
property caching logic.
@param string $rel
The link relationship type, for example: canonical or edit-form.
@return array
An array of URI placeholders.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:315

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:476

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 \Drupal\Core\Url
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:141

Creates a new URL object from a route match.
@param \Drupal\Core\Routing\RouteMatchInterface $route_match
The route match.
@return $this
Defined in <ROOT>core/lib/Drupal/Core/Url.php:153

→public staticfromUri($uri, $options = array()) -> \Drupal\Core\Url

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 \Drupal\Core\Url
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:266

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:198

→public staticrenderAccess(array $element) -> bool

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:823

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:115

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:807

→publicgetInternalPath() -> string

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:784

→publicgetOption($name) -> mixed

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:639

→publicgetOptions() -> array

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:624

→publicgetRouteName() -> string

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:553

→publicgetRouteParameters() -> array

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:569

→publicgetUri() -> string

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:706

→publicisExternal() -> bool

Indicates if this Url is external.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:532

→publicisRouted() -> bool

Indicates if this Url has a Drupal route.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:541

→publicmergeOptions($options) -> $this

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:690

→publicsetAbsolute($absolute = true) -> $this

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:722

→publicsetOption($name, $value) -> $this

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:673

→publicsetOptions($options) -> $this

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:656

→publicsetRouteParameter($key, $value) -> $this

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:609

→publicsetRouteParameters($parameters) -> $this

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:588

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:748

→publictoUriString() -> string

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:512

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 \Drupal\Core\Url
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:341

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 \Drupal\Core\Url
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:391

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 \Drupal\Core\Url
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:440

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:544

→public staticcreateFromLangcode($langcode) -> $this

Creates a configurable language object from a langcode.
@param string $langcode
The language code to use to create the object.
@return $this
@see \Drupal\Core\Language\LanguageManager::getStandardLanguageList()
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:244

→public staticload($id)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:524

→public staticloadMultiple(array $ids = NULL)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:534

{@inheritdoc}
@throws \DeleteDefaultLanguageException
Exception thrown if we're trying to delete the default language entity.
This is not allowed as a site must have a default language.
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:151

Helper callback for uasort() to sort configuration entities by weight and label.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:251

→public__construct(array $values, $entity_type)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:112

→public__sleep()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:353

→public__wakeup()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65

Overrides Entity::isNew().
EntityInterface::enforceIsNew() is only supported for newly created
configuration entities but has no effect after saving, since each
configuration entity is unique.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:150

→publicisSyncing()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:219

→publicisUninstalling()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:233

→publiclabel()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:166

→publiclanguage()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:372

→publiclink($text = NULL, $rel = edit-form, array $options = array())

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:422

→publicmergeCacheMaxAge($max_age)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Cache/RefinableCacheableDependencyTrait.php:51

→publiconDependencyRemoval(array $dependencies)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:500

→publicpostCreate(Drupal\Core\Entity\EntityStorageInterface $storage)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:456

{@inheritdoc}
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:526

Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
Note that this function should only be called from implementations of
\Drupal\Core\Config\Entity\ConfigEntityInterface::calculateDependencies(),
as dependencies are recalculated during every entity save.
@see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency()
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:454

→protectedaddDependencyTrait($type, $name) -> $this

Adds a dependency.
@param string $type
Type of dependency being added: 'module', 'theme', 'config', 'content'.
@param string $name
If $type is 'module' or 'theme', the name of the module or theme. If
$type is 'config' or 'content', the result of
EntityInterface::getConfigDependencyName().
@see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
@return $this
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Entity/DependencyTrait.php:31

Calculates and adds dependencies of a specific plugin instance.
Dependencies are added for the module that provides the plugin, as well
as any dependencies declared by the instance's calculateDependencies()
method, if it implements
\Drupal\Component\Plugin\DependentPluginInterface.
@param \Drupal\Component\Plugin\PluginInspectionInterface $instance
The plugin instance.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php:29

Gets the entity manager.
@return \Drupal\Core\Entity\EntityManagerInterface
@deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
Use \Drupal::entityTypeManager() instead in most cases. If the needed
method is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
deprecated \Drupal\Core\Entity\EntityManager to find the
correct interface or service.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:79

{@inheritdoc}
Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:516

Gets an array of placeholders for this entity.
Individual entity classes may override this method to add additional
placeholders if desired. If so, they should be sure to replicate the
property caching logic.
@param string $rel
The link relationship type, for example: canonical or edit-form.
@return array
An array of URI placeholders.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:315

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:476

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 \Drupal\Core\Url
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:141

Creates a new URL object from a route match.
@param \Drupal\Core\Routing\RouteMatchInterface $route_match
The route match.
@return $this
Defined in <ROOT>core/lib/Drupal/Core/Url.php:153

→public staticfromUri($uri, $options = array()) -> \Drupal\Core\Url

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 \Drupal\Core\Url
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:266

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:198

→public staticrenderAccess(array $element) -> bool

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:823

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:115

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:807

→publicgetInternalPath() -> string

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:784

→publicgetOption($name) -> mixed

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:639

→publicgetOptions() -> array

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:624

→publicgetRouteName() -> string

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:553

→publicgetRouteParameters() -> array

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:569

→publicgetUri() -> string

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:706

→publicisExternal() -> bool

Indicates if this Url is external.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:532

→publicisRouted() -> bool

Indicates if this Url has a Drupal route.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:541

→publicmergeOptions($options) -> $this

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:690

→publicsetAbsolute($absolute = true) -> $this

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:722

→publicsetOption($name, $value) -> $this

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:673

→publicsetOptions($options) -> $this

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:656

→publicsetRouteParameter($key, $value) -> $this

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:609

→publicsetRouteParameters($parameters) -> $this

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:588

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:748

→publictoUriString() -> string

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:512

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 \Drupal\Core\Url
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:341

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 \Drupal\Core\Url
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:391

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 \Drupal\Core\Url
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:440

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:544

→public staticcreateFromLangcode($langcode) -> $this

Creates a configurable language object from a langcode.
@param string $langcode
The language code to use to create the object.
@return $this
@see \Drupal\Core\Language\LanguageManager::getStandardLanguageList()
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:244

→public staticload($id)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:524

→public staticloadMultiple(array $ids = NULL)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:534

{@inheritdoc}
@throws \DeleteDefaultLanguageException
Exception thrown if we're trying to delete the default language entity.
This is not allowed as a site must have a default language.
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:151

Helper callback for uasort() to sort configuration entities by weight and label.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:251

→public__construct(array $values, $entity_type)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:112

→public__sleep()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:353

→public__wakeup()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65

Overrides Entity::isNew().
EntityInterface::enforceIsNew() is only supported for newly created
configuration entities but has no effect after saving, since each
configuration entity is unique.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:150

→publicisSyncing()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:219

→publicisUninstalling()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:233

→publiclabel()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:166

→publiclanguage()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:372

→publiclink($text = NULL, $rel = edit-form, array $options = array())

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:422

→publicmergeCacheMaxAge($max_age)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Cache/RefinableCacheableDependencyTrait.php:51

→publiconDependencyRemoval(array $dependencies)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:500

→publicpostCreate(Drupal\Core\Entity\EntityStorageInterface $storage)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:456

{@inheritdoc}
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:526

Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
Note that this function should only be called from implementations of
\Drupal\Core\Config\Entity\ConfigEntityInterface::calculateDependencies(),
as dependencies are recalculated during every entity save.
@see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency()
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:454

→protectedaddDependencyTrait($type, $name) -> $this

Adds a dependency.
@param string $type
Type of dependency being added: 'module', 'theme', 'config', 'content'.
@param string $name
If $type is 'module' or 'theme', the name of the module or theme. If
$type is 'config' or 'content', the result of
EntityInterface::getConfigDependencyName().
@see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
@return $this
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Entity/DependencyTrait.php:31

Calculates and adds dependencies of a specific plugin instance.
Dependencies are added for the module that provides the plugin, as well
as any dependencies declared by the instance's calculateDependencies()
method, if it implements
\Drupal\Component\Plugin\DependentPluginInterface.
@param \Drupal\Component\Plugin\PluginInspectionInterface $instance
The plugin instance.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php:29

Gets the entity manager.
@return \Drupal\Core\Entity\EntityManagerInterface
@deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
Use \Drupal::entityTypeManager() instead in most cases. If the needed
method is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
deprecated \Drupal\Core\Entity\EntityManager to find the
correct interface or service.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:79

{@inheritdoc}
Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:516

Gets an array of placeholders for this entity.
Individual entity classes may override this method to add additional
placeholders if desired. If so, they should be sure to replicate the
property caching logic.
@param string $rel
The link relationship type, for example: canonical or edit-form.
@return array
An array of URI placeholders.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:315

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:476

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 \Drupal\Core\Url
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:141

Creates a new URL object from a route match.
@param \Drupal\Core\Routing\RouteMatchInterface $route_match
The route match.
@return $this
Defined in <ROOT>core/lib/Drupal/Core/Url.php:153

→public staticfromUri($uri, $options = array()) -> \Drupal\Core\Url

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 \Drupal\Core\Url
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:266

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:198

→public staticrenderAccess(array $element) -> bool

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:823

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:115

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:807

→publicgetInternalPath() -> string

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:784

→publicgetOption($name) -> mixed

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:639

→publicgetOptions() -> array

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:624

→publicgetRouteName() -> string

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:553

→publicgetRouteParameters() -> array

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:569

→publicgetUri() -> string

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:706

→publicisExternal() -> bool

Indicates if this Url is external.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:532

→publicisRouted() -> bool

Indicates if this Url has a Drupal route.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:541

→publicmergeOptions($options) -> $this

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:690

→publicsetAbsolute($absolute = true) -> $this

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:722

→publicsetOption($name, $value) -> $this

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:673

→publicsetOptions($options) -> $this

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:656

→publicsetRouteParameter($key, $value) -> $this

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:609

→publicsetRouteParameters($parameters) -> $this

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:588

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:748

→publictoUriString() -> string

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:512

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 \Drupal\Core\Url
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:341

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 \Drupal\Core\Url
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:391

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 \Drupal\Core\Url
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:440

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:544

→public staticcreateFromLangcode($langcode) -> $this

Creates a configurable language object from a langcode.
@param string $langcode
The language code to use to create the object.
@return $this
@see \Drupal\Core\Language\LanguageManager::getStandardLanguageList()
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:244

→public staticload($id)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:524

→public staticloadMultiple(array $ids = NULL)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:534

{@inheritdoc}
@throws \DeleteDefaultLanguageException
Exception thrown if we're trying to delete the default language entity.
This is not allowed as a site must have a default language.
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:151

Helper callback for uasort() to sort configuration entities by weight and label.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:251

→public__construct(array $values, $entity_type)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:112

→public__sleep()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:353

→public__wakeup()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65

Overrides Entity::isNew().
EntityInterface::enforceIsNew() is only supported for newly created
configuration entities but has no effect after saving, since each
configuration entity is unique.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:150

→publicisSyncing()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:219

→publicisUninstalling()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:233

→publiclabel()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:166

→publiclanguage()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:372

→publiclink($text = NULL, $rel = edit-form, array $options = array())

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:422

→publicmergeCacheMaxAge($max_age)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Cache/RefinableCacheableDependencyTrait.php:51

→publiconDependencyRemoval(array $dependencies)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:500

→publicpostCreate(Drupal\Core\Entity\EntityStorageInterface $storage)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:456

{@inheritdoc}
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:526

Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
Note that this function should only be called from implementations of
\Drupal\Core\Config\Entity\ConfigEntityInterface::calculateDependencies(),
as dependencies are recalculated during every entity save.
@see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency()
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:454

→protectedaddDependencyTrait($type, $name) -> $this

Adds a dependency.
@param string $type
Type of dependency being added: 'module', 'theme', 'config', 'content'.
@param string $name
If $type is 'module' or 'theme', the name of the module or theme. If
$type is 'config' or 'content', the result of
EntityInterface::getConfigDependencyName().
@see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
@return $this
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Entity/DependencyTrait.php:31

Calculates and adds dependencies of a specific plugin instance.
Dependencies are added for the module that provides the plugin, as well
as any dependencies declared by the instance's calculateDependencies()
method, if it implements
\Drupal\Component\Plugin\DependentPluginInterface.
@param \Drupal\Component\Plugin\PluginInspectionInterface $instance
The plugin instance.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php:29

Gets the entity manager.
@return \Drupal\Core\Entity\EntityManagerInterface
@deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
Use \Drupal::entityTypeManager() instead in most cases. If the needed
method is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
deprecated \Drupal\Core\Entity\EntityManager to find the
correct interface or service.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:79

{@inheritdoc}
Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:516

Gets an array of placeholders for this entity.
Individual entity classes may override this method to add additional
placeholders if desired. If so, they should be sure to replicate the
property caching logic.
@param string $rel
The link relationship type, for example: canonical or edit-form.
@return array
An array of URI placeholders.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:315

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:476

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 \Drupal\Core\Url
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:141

Creates a new URL object from a route match.
@param \Drupal\Core\Routing\RouteMatchInterface $route_match
The route match.
@return $this
Defined in <ROOT>core/lib/Drupal/Core/Url.php:153

→public staticfromUri($uri, $options = array()) -> \Drupal\Core\Url

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 \Drupal\Core\Url
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:266

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:198

→public staticrenderAccess(array $element) -> bool

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:823

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:115

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:807

→publicgetInternalPath() -> string

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:784

→publicgetOption($name) -> mixed

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:639

→publicgetOptions() -> array

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:624

→publicgetRouteName() -> string

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:553

→publicgetRouteParameters() -> array

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:569

→publicgetUri() -> string

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:706

→publicisExternal() -> bool

Indicates if this Url is external.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:532

→publicisRouted() -> bool

Indicates if this Url has a Drupal route.
@return bool
Defined in <ROOT>core/lib/Drupal/Core/Url.php:541

→publicmergeOptions($options) -> $this

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:690

→publicsetAbsolute($absolute = true) -> $this

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:722

→publicsetOption($name, $value) -> $this

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:673

→publicsetOptions($options) -> $this

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:656

→publicsetRouteParameter($key, $value) -> $this

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:609

→publicsetRouteParameters($parameters) -> $this

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:588

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:748

→publictoUriString() -> string

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:512

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 \Drupal\Core\Url
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:341

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 \Drupal\Core\Url
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:391

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 \Drupal\Core\Url
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:440

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:544

→public staticcreateFromLangcode($langcode) -> $this

Creates a configurable language object from a langcode.
@param string $langcode
The language code to use to create the object.
@return $this
@see \Drupal\Core\Language\LanguageManager::getStandardLanguageList()
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:244

→public staticload($id)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:524

→public staticloadMultiple(array $ids = NULL)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:534

{@inheritdoc}
@throws \DeleteDefaultLanguageException
Exception thrown if we're trying to delete the default language entity.
This is not allowed as a site must have a default language.
Defined in <ROOT>core/modules/language/src/Entity/ConfigurableLanguage.php:151

Helper callback for uasort() to sort configuration entities by weight and label.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:251

→public__construct(array $values, $entity_type)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:112

→public__sleep()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:353

→public__wakeup()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:65

Overrides Entity::isNew().
EntityInterface::enforceIsNew() is only supported for newly created
configuration entities but has no effect after saving, since each
configuration entity is unique.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:150

→publicisSyncing()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:219

→publicisUninstalling()

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:233

→publiclabel()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:166

→publiclanguage()

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:372

→publiclink($text = NULL, $rel = edit-form, array $options = array())

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:422

→publicmergeCacheMaxAge($max_age)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Cache/RefinableCacheableDependencyTrait.php:51

→publiconDependencyRemoval(array $dependencies)

{@inheritdoc}
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:500

→publicpostCreate(Drupal\Core\Entity\EntityStorageInterface $storage)

{@inheritdoc}
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:456

{@inheritdoc}
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:526

Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
Note that this function should only be called from implementations of
\Drupal\Core\Config\Entity\ConfigEntityInterface::calculateDependencies(),
as dependencies are recalculated during every entity save.
@see \Drupal\Core\Config\Entity\ConfigEntityDependency::hasDependency()
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:454

→protectedaddDependencyTrait($type, $name) -> $this

Adds a dependency.
@param string $type
Type of dependency being added: 'module', 'theme', 'config', 'content'.
@param string $name
If $type is 'module' or 'theme', the name of the module or theme. If
$type is 'config' or 'content', the result of
EntityInterface::getConfigDependencyName().
@see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
@return $this
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Entity/DependencyTrait.php:31

Calculates and adds dependencies of a specific plugin instance.
Dependencies are added for the module that provides the plugin, as well
as any dependencies declared by the instance's calculateDependencies()
method, if it implements
\Drupal\Component\Plugin\DependentPluginInterface.
@param \Drupal\Component\Plugin\PluginInspectionInterface $instance
The plugin instance.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php:29

Gets the entity manager.
@return \Drupal\Core\Entity\EntityManagerInterface
@deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
Use \Drupal::entityTypeManager() instead in most cases. If the needed
method is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
deprecated \Drupal\Core\Entity\EntityManager to find the
correct interface or service.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:79

{@inheritdoc}
Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Inherited from Drupal\Core\Config\Entity\ConfigEntityBaseDefined in <ROOT>core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php:516

Gets an array of placeholders for this entity.
Individual entity classes may override this method to add additional
placeholders if desired. If so, they should be sure to replicate the
property caching logic.
@param string $rel
The link relationship type, for example: canonical or edit-form.
@return array
An array of URI placeholders.
Inherited from Drupal\Core\Entity\EntityDefined in <ROOT>core/lib/Drupal/Core/Entity/Entity.php:315