You are here

public function EntityBase::url in Drupal 8

Gets the public URL for this entity.

Parameters

string $rel: The link relationship type, for example: canonical or edit-form.

array $options: See \Drupal\Core\Routing\UrlGeneratorInterface::generateFromRoute() for the available options.

Return value

string The URL for this entity.

Overrides EntityInterface::url

Deprecated

in drupal:8.0.0 and is removed from drupal:9.0.0. Please use toUrl() instead.

See also

https://www.drupal.org/node/2614344

\Drupal\Core\Entity\EntityInterface::toUrl

1 call to EntityBase::url()
ConfigEntityBase::url in core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
Gets the public URL for this entity.
2 methods override EntityBase::url()
ConfigEntityBase::url in core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
Gets the public URL for this entity.
File::url in core/modules/file/src/Entity/File.php

File

core/lib/Drupal/Core/Entity/EntityBase.php, line 292

Class

EntityBase
Defines a base entity class.

Namespace

Drupal\Core\Entity

Code

public function url($rel = 'canonical', $options = []) {
  @trigger_error('EntityInterface::url() is deprecated in Drupal 8.0.0 and will be removed in Drupal 9.0.0. EntityInterface::toUrl() instead. Note, a \\Drupal\\Core\\Url object is returned. See https://www.drupal.org/node/2614344', E_USER_DEPRECATED);

  // While self::toUrl() will throw an exception if the entity has no id,
  // the expected result for a URL is always a string.
  if ($this
    ->id() === NULL || !$this
    ->hasLinkTemplate($rel)) {
    return '';
  }
  $uri = $this
    ->toUrl($rel);
  $options += $uri
    ->getOptions();
  $uri
    ->setOptions($options);
  return $uri
    ->toString();
}