class GeneratedLink extends BubbleableMetadata implements MarkupInterface, Countable (View source)

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

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

Traits

Provides an implementation of AttachmentsInterface.

Trait for \Drupal\Core\Cache\RefinableCacheableDependencyInterface.

Trait for \Drupal\Core\Cache\CacheableDependencyInterface.

Constants

TAG

HTML tag to use when building the link.

Properties

protected string[] $cacheContexts

Cache contexts.

from  CacheableDependencyTrait
protected string[] $cacheTags

Cache tags.

from  CacheableDependencyTrait
protected int $cacheMaxAge

Cache max-age.

from  CacheableDependencyTrait
protected array $attachments

The attachments for this response.

from  AttachmentsTrait
$generatedLink

The HTML string value containing a link.

Methods

$this
setCacheability(CacheableDependencyInterface $cacheability)

Sets cacheability; useful for value object constructors.

getCacheTags()

{@inheritdoc}

addCacheableDependency($other_object)

{@inheritdoc}

addCacheContexts(array $cache_contexts)

{@inheritdoc}

addCacheTags(array $cache_tags)

{@inheritdoc}

$this
setCacheTags(array $cache_tags)

Sets cache tags.

$this
setCacheContexts(array $cache_contexts)

Sets cache contexts.

$this
setCacheMaxAge(int $max_age)

Sets the maximum age (in seconds).

merge(CacheableMetadata $other)

Creates a new bubbleable metadata object by merging this one with another.

applyTo(array $build)

Applies the values of this bubbleable metadata object to a render array.

createFromRenderArray(array $build)

Creates a bubbleable metadata object with values taken from a render array.

createFromObject(CacheableDependencyInterface|mixed $object)

Creates a bubbleable metadata object from a depended object.

getAttachments()

{@inheritdoc}

addAttachments(array $attachments)

{@inheritdoc}

setAttachments(array $attachments)

{@inheritdoc}

static array
mergeAttachments(array $a, array $b)

Merges two attachments arrays (which live under the '#attached' key).

string
getGeneratedLink()

Gets the generated link.

$this
setGeneratedLink(string $generated_link)

Sets the generated link.

string
__toString()

Returns markup.

jsonSerialize()

{@inheritdoc}

count()

{@inheritdoc}

Details

protected $this setCacheability(CacheableDependencyInterface $cacheability)

Sets cacheability; useful for value object constructors.

Parameters

CacheableDependencyInterface $cacheability

The cacheability to set.

Return Value

$this

getCacheTags()

{@inheritdoc}

getCacheContexts()

{@inheritdoc}

getCacheMaxAge()

{@inheritdoc}

addCacheableDependency($other_object)

{@inheritdoc}

Parameters

$other_object

addCacheContexts(array $cache_contexts)

{@inheritdoc}

Parameters

array $cache_contexts

addCacheTags(array $cache_tags)

{@inheritdoc}

Parameters

array $cache_tags

mergeCacheMaxAge($max_age)

{@inheritdoc}

Parameters

$max_age

$this setCacheTags(array $cache_tags)

Sets cache tags.

Parameters

array $cache_tags

The cache tags to be associated.

Return Value

$this

$this setCacheContexts(array $cache_contexts)

Sets cache contexts.

Parameters

array $cache_contexts

The cache contexts to be associated.

Return Value

$this

$this setCacheMaxAge(int $max_age)

Sets the maximum age (in seconds).

Defaults to Cache::PERMANENT

Parameters

int $max_age

The max age to associate.

Return Value

$this

Exceptions

InvalidArgumentException

CacheableMetadata merge(CacheableMetadata $other)

Creates a new bubbleable metadata object by merging this one with another.

Parameters

CacheableMetadata $other

The other CacheableMetadata object.

Return Value

CacheableMetadata

A new CacheableMetadata object, with the merged data.

applyTo(array $build)

Applies the values of this bubbleable metadata object to a render array.

Parameters

array $build

A render array.

static CacheableMetadata createFromRenderArray(array $build)

Creates a bubbleable metadata object with values taken from a render array.

Parameters

array $build

A render array.

Return Value

CacheableMetadata

static CacheableMetadata createFromObject(CacheableDependencyInterface|mixed $object)

Creates a bubbleable metadata object from a depended object.

Parameters

CacheableDependencyInterface|mixed $object

The object whose cacheability metadata to retrieve. If it implements CacheableDependencyInterface, its cacheability metadata will be used, otherwise, the passed in object must be assumed to be uncacheable, so max-age 0 is set.

Return Value

CacheableMetadata

getAttachments()

{@inheritdoc}

addAttachments(array $attachments)

{@inheritdoc}

Parameters

array $attachments

setAttachments(array $attachments)

{@inheritdoc}

Parameters

array $attachments

static array mergeAttachments(array $a, array $b)

Merges two attachments arrays (which live under the '#attached' key).

The values under the 'drupalSettings' key are merged in a special way, to match the behavior of:

Parameters

array $a

An attachments array.

array $b

Another attachments array.

Return Value

array

The merged attachments array.

Gets the generated link.

Return Value

string

Sets the generated link.

Parameters

string $generated_link

The generated link.

Return Value

$this

string __toString()

Returns markup.

Return Value

string

The markup.

jsonSerialize()

{@inheritdoc}

count()

{@inheritdoc}