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
- class \Drupal\Core\Cache\CacheableMetadata implements RefinableCacheableDependencyInterface uses RefinableCacheableDependencyTrait
- class \Drupal\Core\Render\BubbleableMetadata implements AttachmentsInterface uses AttachmentsTrait
- class \Drupal\filter\FilterProcessResult
- class \Drupal\Core\Render\BubbleableMetadata implements AttachmentsInterface uses AttachmentsTrait
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 |
Please login to continue.