GeneratedLink.php

Same filename and directory in other branches
  1. 9 core/lib/Drupal/Core/GeneratedLink.php
  2. 8.9.x core/lib/Drupal/Core/GeneratedLink.php
  3. 10 core/lib/Drupal/Core/GeneratedLink.php

Namespace

Drupal\Core

File

core/lib/Drupal/Core/GeneratedLink.php

View source
<?php

namespace Drupal\Core;

use Drupal\Component\Render\MarkupInterface;
use Drupal\Core\Render\BubbleableMetadata;

/**
 * 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).
 */
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}
     */
    public function jsonSerialize() : string {
        return $this->__toString();
    }
    
    /**
     * {@inheritdoc}
     */
    public function count() : int {
        return mb_strlen($this->__toString());
    }

}

Classes

Title Deprecated Summary
GeneratedLink Used to return generated links, along with associated cacheability metadata.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.