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.