FilterProcessResult

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:

public function process($text, $langcode) {
  // Modify $text.

  return new FilterProcessResult($text);
}

The advanced use cases:

public function process($text, $langcode) {
  // Modify $text.

  $result = new FilterProcessResult($text);

  // Associate assets to be attached.
  $result->setAttachments(array(
    'library' => array(
       'filter/caption',
    ),
  ));

  // Associate cache contexts to vary by.
  $result->setCacheContexts(['language']);

  // Associate cache tags to be invalidated by.
  $result->setCacheTags($node->getCacheTags());

  // Associate a maximum age.
  $result->setCacheMaxAge(300); // 5 minutes.

  return $result;
}

Hierarchy

File

core/modules/filter/src/FilterProcessResult.php, line 63

Namespace

Drupal\filter

Members

Name Modifiers Type Description
AttachmentsTrait::$attachments protected property The attachments for this response.
AttachmentsTrait::addAttachments public function Adds attachments. Overrides AttachmentsInterface::addAttachments
AttachmentsTrait::getAttachments public function Gets attachments. Overrides AttachmentsInterface::getAttachments
AttachmentsTrait::setAttachments public function Sets attachments. Overrides AttachmentsInterface::setAttachments
BubbleableMetadata::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 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 Merges the values of another bubbleable metadata object with this one. Overrides CacheableMetadata::merge
BubbleableMetadata::mergeAttachments public static function Merges two attachments arrays (which live under the '#attached' key).
CacheableMetadata::getCacheContexts public function The cache contexts associated with this object. Overrides RefinableCacheableDependencyTrait::getCacheContexts
CacheableMetadata::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides RefinableCacheableDependencyTrait::getCacheMaxAge
CacheableMetadata::getCacheTags public function The cache tags associated with this object. Overrides RefinableCacheableDependencyTrait::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.
FilterProcessResult::$processedText protected property The processed text.
FilterProcessResult::createPlaceholder public function Creates a placeholder.
FilterProcessResult::getProcessedText public function Gets the processed text.
FilterProcessResult::setProcessedText public function Sets the processed text.
FilterProcessResult::__construct public function Constructs a FilterProcessResult object.
FilterProcessResult::__toString public function Gets the processed text.
RefinableCacheableDependencyTrait::$cacheContexts protected property Cache contexts.
RefinableCacheableDependencyTrait::$cacheMaxAge protected property Cache max-age.
RefinableCacheableDependencyTrait::$cacheTags protected property Cache tags.
RefinableCacheableDependencyTrait::addCacheContexts public function Adds cache contexts. Overrides RefinableCacheableDependencyInterface::addCacheContexts
RefinableCacheableDependencyTrait::addCacheTags public function Adds cache tags. Overrides RefinableCacheableDependencyInterface::addCacheTags
RefinableCacheableDependencyTrait::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. Overrides RefinableCacheableDependencyInterface::mergeCacheMaxAge
doc_Drupal
2016-10-29 09:14:51
Comments
Leave a Comment

Please login to continue.