~ubuntu-branches/debian/stretch/assetic/stretch

« back to all changes in this revision

Viewing changes to src/Assetic/Cache/ArrayCache.php

  • Committer: Package Import Robot
  • Author(s): David Prévot
  • Date: 2014-04-21 12:48:05 UTC
  • Revision ID: package-import@ubuntu.com-20140421124805-y9ri97838g33fo9z
Tags: upstream-1.1.2
Import upstream version 1.1.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
/*
 
4
 * This file is part of the Assetic package, an OpenSky project.
 
5
 *
 
6
 * (c) 2010-2013 OpenSky Project Inc
 
7
 *
 
8
 * For the full copyright and license information, please view the LICENSE
 
9
 * file that was distributed with this source code.
 
10
 */
 
11
 
 
12
namespace Assetic\Cache;
 
13
 
 
14
/**
 
15
 * A simple array cache
 
16
 *
 
17
 * @author Michael Mifsud <xzyfer@gmail.com>
 
18
 */
 
19
class ArrayCache implements CacheInterface
 
20
{
 
21
    private $cache = array();
 
22
 
 
23
    /**
 
24
     * @see CacheInterface::has()
 
25
     */
 
26
    public function has($key)
 
27
    {
 
28
        return isset($this->cache[$key]);
 
29
    }
 
30
 
 
31
    /**
 
32
     * @see CacheInterface::get()
 
33
     */
 
34
    public function get($key)
 
35
    {
 
36
        if(!$this->has($key)) {
 
37
            throw new \RuntimeException('There is no cached value for '.$key);
 
38
        }
 
39
 
 
40
        return $this->cache[$key];
 
41
    }
 
42
 
 
43
    /**
 
44
     * @see CacheInterface::set()
 
45
     */
 
46
    public function set($key, $value)
 
47
    {
 
48
        $this->cache[$key] = $value;
 
49
    }
 
50
 
 
51
    /**
 
52
     * @see CacheInterface::remove()
 
53
     */
 
54
    public function remove($key)
 
55
    {
 
56
        unset($this->cache[$key]);
 
57
    }
 
58
}