You are here

public function MailCacheStatic::set in Simplenews 8

Same name and namespace in other branches
  1. 8.2 src/Mail/MailCacheStatic.php \Drupal\simplenews\Mail\MailCacheStatic::set()
  2. 3.x src/Mail/MailCacheStatic.php \Drupal\simplenews\Mail\MailCacheStatic::set()

Write an element to the cache.

Although group and key can be used to identify the requested cache, the implementations are responsible to create a unique cache key themself using the $mail. For example based on the entity id and the language.

Parameters

\Drupal\simplenews\Mail\MailInterface $mail: The mail object.

string $group: Group of the cache key, which allows cache implementations to decide what they want to cache. Currently used groups:

  • data: Raw data, e.g. attachments.
  • build: Built and themed content, before personalizations like tokens.
  • final: The final returned data. Caching this means that newsletter can not be personalized anymore.

string $key: Identifies the requested element, e.g. body or attachments.

mixed $data: The data to be saved in the cache.

Overrides MailCacheInterface::set

File

src/Mail/MailCacheStatic.php, line 49

Class

MailCacheStatic
Abstract implementation of the mail caching that does static caching.

Namespace

Drupal\simplenews\Mail

Code

public function set(MailInterface $mail, $group, $key, $data) {
  if (!$this
    ->isCacheable($mail, $group, $key)) {
    return;
  }
  $this->cache[$this
    ->getCid($mail)][$group][$key] = $data;
}