eca-1.0.x-dev/modules/cache/src/Plugin/Action/EcaCacheTrait.php
modules/cache/src/Plugin/Action/EcaCacheTrait.php
<?php namespace Drupal\eca_cache\Plugin\Action; /** * Trait provides helper functions for cache related actions. */ trait EcaCacheTrait { /** * {@inheritdoc} */ protected function getBackendOptions(): array { return [ 'eca_default' => $this->t('Default shared cache'), 'eca_memory' => $this->t('Runtime in-memory cache'), 'eca_chained' => $this->t('Chained cache (in-memory plus shared)'), ]; } /** * {@inheritdoc} */ protected function getCacheKey(): ?string { $key = parent::getCacheKey(); if ($key !== NULL) { // @noinspection StrStartsWithCanBeUsedInspection if (mb_strpos($key, 'eca_cache:') !== 0) { $key = 'eca_cache:' . $key; } return $key; } return NULL; } /** * {@inheritdoc} */ protected function getCacheTags(): array { $tags = parent::getCacheTags(); foreach ($tags as &$tag) { // @noinspection StrStartsWithCanBeUsedInspection if (mb_strpos($tag, 'eca_cache:') !== 0) { $tag = 'eca_cache:' . $tag; } } return $tags; } }