1<?php
2
3/*
4 * This file is part of the Assetic package, an OpenSky project.
5 *
6 * (c) 2010-2014 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
12namespace Assetic\Cache;
13
14/**
15 * Interface for a cache backend.
16 *
17 * @author Kris Wallsmith <kris.wallsmith@gmail.com>
18 */
19interface CacheInterface
20{
21    /**
22     * Checks if the cache has a value for a key.
23     *
24     * @param string $key A unique key
25     *
26     * @return Boolean Whether the cache has a value for this key
27     */
28    public function has($key);
29
30    /**
31     * Returns the value for a key.
32     *
33     * @param string $key A unique key
34     *
35     * @return string|null The value in the cache
36     */
37    public function get($key);
38
39    /**
40     * Sets a value in the cache.
41     *
42     * @param string $key   A unique key
43     * @param string $value The value to cache
44     */
45    public function set($key, $value);
46
47    /**
48     * Removes a value from the cache.
49     *
50     * @param string $key A unique key
51     */
52    public function remove($key);
53}
54