Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.2.x will end 22 April 2024 (12 months).
  • Bug fixes for security issues in 4.2.x will end 7 October 2024 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.1.x is supported too.
   1  <?php
   2  
   3  namespace Kevinrob\GuzzleCache\Storage;
   4  
   5  use Kevinrob\GuzzleCache\CacheEntry;
   6  
   7  /**
   8   * This cache class is backed by a PHP Array.
   9   */
  10  class VolatileRuntimeStorage implements CacheStorageInterface
  11  {
  12  
  13      /**
  14       * @var CacheEntry[]
  15       */
  16      protected $cache = [];
  17  
  18      /**
  19       * @param string $key
  20       *
  21       * @return CacheEntry|null the data or false
  22       */
  23      public function fetch($key)
  24      {
  25          if (isset($this->cache[$key])) {
  26              return $this->cache[$key];
  27          }
  28  
  29          return;
  30      }
  31  
  32      /**
  33       * @param string $key
  34       * @param CacheEntry $data
  35       *
  36       * @return bool
  37       */
  38      public function save($key, CacheEntry $data)
  39      {
  40          $this->cache[$key] = $data;
  41  
  42          return true;
  43      }
  44  
  45      /**
  46       * @param string $key
  47       *
  48       * @return bool
  49       */
  50      public function delete($key)
  51      {
  52          if (true === array_key_exists($key, $this->cache)) {
  53              unset($this->cache[$key]);
  54  
  55              return true;
  56          }
  57  
  58          return false;
  59      }
  60  }