Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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
}