Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/GeneratedLink.php \Drupal\Core\GeneratedLink
  2. 9 core/lib/Drupal/Core/GeneratedLink.php \Drupal\Core\GeneratedLink

Used to return generated links, along with associated cacheability metadata.

Note: not to be confused with \Drupal\Core\Link, which is for passing around links that are not generated (typically link text + route name + route parameters).

Hierarchy

Expanded class hierarchy of GeneratedLink

4 files declare their use of GeneratedLink
LinkGenerator.php in core/lib/Drupal/Core/Utility/LinkGenerator.php
ThemeRenderAndAutoescapeTest.php in core/tests/Drupal/KernelTests/Core/Theme/ThemeRenderAndAutoescapeTest.php
TwigExtensionTest.php in core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php
TwigMarkupInterfaceTest.php in core/tests/Drupal/KernelTests/Core/Theme/TwigMarkupInterfaceTest.php

File

core/lib/Drupal/Core/GeneratedLink.php, line 15

Namespace

Drupal\Core
View source
class GeneratedLink extends BubbleableMetadata implements MarkupInterface, \Countable {

  /**
   * HTML tag to use when building the link.
   */
  const TAG = 'a';

  /**
   * The HTML string value containing a link.
   *
   * @var string
   */
  protected $generatedLink = '';

  /**
   * Gets the generated link.
   *
   * @return string
   */
  public function getGeneratedLink() {
    return $this->generatedLink;
  }

  /**
   * Sets the generated link.
   *
   * @param string $generated_link
   *   The generated link.
   *
   * @return $this
   */
  public function setGeneratedLink($generated_link) {
    $this->generatedLink = $generated_link;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function __toString() {
    return (string) $this->generatedLink;
  }

  /**
   * {@inheritdoc}
   */

  #[\ReturnTypeWillChange]
  public function jsonSerialize() {
    return $this
      ->__toString();
  }

  /**
   * {@inheritdoc}
   */

  #[\ReturnTypeWillChange]
  public function count() {
    return mb_strlen($this
      ->__toString());
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AttachmentsTrait::$attachments protected property The attachments for this response.
AttachmentsTrait::addAttachments public function
AttachmentsTrait::getAttachments public function
AttachmentsTrait::setAttachments public function
BubbleableMetadata::addCacheableDependency public function Overrides RefinableCacheableDependencyTrait::addCacheableDependency
BubbleableMetadata::applyTo public function Applies the values of this bubbleable metadata object to a render array. Overrides CacheableMetadata::applyTo
BubbleableMetadata::createFromObject public static function Creates a bubbleable metadata object from a depended object. Overrides CacheableMetadata::createFromObject
BubbleableMetadata::createFromRenderArray public static function Creates a bubbleable metadata object with values taken from a render array. Overrides CacheableMetadata::createFromRenderArray
BubbleableMetadata::merge public function Creates a new bubbleable metadata object by merging this one with another. Overrides CacheableMetadata::merge
BubbleableMetadata::mergeAttachments public static function Merges two attachments arrays (which live under the '#attached' key).
CacheableDependencyTrait::$cacheContexts protected property Cache contexts.
CacheableDependencyTrait::$cacheMaxAge protected property Cache max-age.
CacheableDependencyTrait::$cacheTags protected property Cache tags.
CacheableDependencyTrait::setCacheability protected function Sets cacheability; useful for value object constructors.
CacheableMetadata::getCacheContexts public function The cache contexts associated with this object. Overrides CacheableDependencyTrait::getCacheContexts
CacheableMetadata::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides CacheableDependencyTrait::getCacheMaxAge
CacheableMetadata::getCacheTags public function The cache tags associated with this object. Overrides CacheableDependencyTrait::getCacheTags
CacheableMetadata::setCacheContexts public function Sets cache contexts.
CacheableMetadata::setCacheMaxAge public function Sets the maximum age (in seconds).
CacheableMetadata::setCacheTags public function Sets cache tags.
GeneratedLink::$generatedLink protected property The HTML string value containing a link.
GeneratedLink::count public function
GeneratedLink::getGeneratedLink public function Gets the generated link.
GeneratedLink::jsonSerialize public function
GeneratedLink::setGeneratedLink public function Sets the generated link.
GeneratedLink::TAG constant HTML tag to use when building the link. 2
GeneratedLink::__toString public function Returns markup. Overrides MarkupInterface::__toString
RefinableCacheableDependencyTrait::addCacheContexts public function
RefinableCacheableDependencyTrait::addCacheTags public function
RefinableCacheableDependencyTrait::mergeCacheMaxAge public function