HEX
Server: Apache/2
System: Linux s01 6.1.0-34-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.135-1 (2025-04-25) x86_64
User: beestg (1003)
PHP: 8.3.25
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/beestg/public_html/wp-content/plugins/mailpoet/lib/Doctrine/PSRArrayCache.php
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing

namespace MailPoet\Doctrine;

if (!defined('ABSPATH')) exit;


use MailPoetVendor\Psr\Cache\CacheItemInterface;
use MailPoetVendor\Psr\Cache\CacheItemPoolInterface;

class PSRArrayCache implements CacheItemPoolInterface {
  /** @var mixed[] */
  private $cache = [];

  /**
   * @inheritDoc
   */
  public function getItem($key) {
    if (!is_string($key)) {
      throw new PSRCacheInvalidArgumentException('Invalid key');
    }
    if (!$this->hasItem($key)) {
      return new PSRCacheItem($key, false);
    }
    return new PSRCacheItem($key, $this->cache[$key]);
  }

  public function getItems(array $keys = []) {
    return array_map([$this, 'getItem'], $keys);
  }

  /**
   * @inheritDoc
   */
  public function hasItem($key) {
    return array_key_exists($key, $this->cache);
  }

  /**
   * @inheritDoc
   */
  public function clear() {
    $this->cache = [];
    return true;
  }

  /**
   * @inheritDoc
   */
  public function deleteItem($key) {
    if (!is_string($key)) {
      throw new PSRCacheInvalidArgumentException('Invalid key');
    }
    unset($this->cache[$key]);
    return true;
  }

  /**
   * @inheritDoc
   */
  public function deleteItems(array $keys) {
    try {
      array_map([$this, 'deleteItem'], $keys);
    } catch (PSRCacheInvalidArgumentException $e) {
      return false;
    }
    return true;
  }

  /**
   * @inheritDoc
   */
  public function save(CacheItemInterface $item) {
    $this->cache[$item->getKey()] = $item->get();
    return true;
  }

  /**
   * @inheritDoc
   */
  public function saveDeferred(CacheItemInterface $item) {
    return $this->save($item);
  }

  /**
   * @inheritDoc
   */
  public function commit() {
    return true;
  }
}