class GeneratedUrl extends BubbleableMetadata (View source)

Used to return generated URLs, along with associated bubbleable metadata.

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

Traits

Provides an implementation of AttachmentsInterface.

Trait for \Drupal\Core\Cache\RefinableCacheableDependencyInterface.

Trait for \Drupal\Core\Cache\CacheableDependencyInterface.

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
protected string $generatedUrl

The string value of the URL.

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
getGeneratedUrl()

Gets the generated URL.

$this
setGeneratedUrl(string $generated_url)

Sets the generated URL.

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.

string getGeneratedUrl()

Gets the generated URL.

Return Value

string

$this setGeneratedUrl(string $generated_url)

Sets the generated URL.

Parameters

string $generated_url

The generated URL.

Return Value

$this