FilterProcessResult
class FilterProcessResult extends BubbleableMetadata (View source)
Used to return values from a text filter plugin's processing method.
The typical use case for a text filter plugin's processing method is to just apply some filtering to the given text, but for more advanced use cases, it may be necessary to also:
- Declare asset libraries to be loaded.
- Declare cache tags that the filtered text depends upon, so when either of those cache tags is invalidated, the filtered text should also be invalidated.
- Declare cache context to vary by, e.g. 'language' to do language-specific filtering.
- Declare a maximum age for the filtered text.
- Apply uncacheable filtering, for example because it differs per user.
In case a filter needs one or more of these advanced use cases, it can use the additional methods available.
The typical use case:
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 | $processedText | The processed text. |
Methods
Sets cacheability; useful for value object constructors.
Creates a new bubbleable metadata object by merging this one with another.
Applies the values of this bubbleable metadata object to a render array.
Creates a bubbleable metadata object with values taken from a render array.
Creates a bubbleable metadata object from a depended object.
Merges two attachments arrays (which live under the '#attached' key).
Constructs a FilterProcessResult object.
Gets the processed text.
Gets the processed text.
Sets the processed text.
Creates a placeholder.
Details
protected $this
setCacheability(CacheableDependencyInterface $cacheability)
Sets cacheability; useful for value object constructors.
getCacheTags()
{@inheritdoc}
getCacheContexts()
{@inheritdoc}
getCacheMaxAge()
{@inheritdoc}
addCacheableDependency($other_object)
{@inheritdoc}
addCacheContexts(array $cache_contexts)
{@inheritdoc}
addCacheTags(array $cache_tags)
{@inheritdoc}
mergeCacheMaxAge($max_age)
{@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).
Defaults to Cache::PERMANENT
CacheableMetadata
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.
static CacheableMetadata
createFromRenderArray(array $build)
Creates a bubbleable metadata object with values taken from a render array.
static CacheableMetadata
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).
The values under the 'drupalSettings' key are merged in a special way, to match the behavior of:
__construct(string $processed_text = '')
Constructs a FilterProcessResult object.
string
getProcessedText()
Gets the processed text.
string
__toString()
Gets the processed text.
$this
setProcessedText(string $processed_text)
Sets the processed text.
string
createPlaceholder(string $callback, array $args)
Creates a placeholder.
This generates its own placeholder markup for one major reason: to not have FilterProcessResult depend on the Renderer service, because this is a value object. As a side-effect and added benefit, this makes it easier to distinguish placeholders for filtered text versus generic render system placeholders.