ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ExpiringCache.php
Go to the documentation of this file.
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
20{
21 private $cache;
22 private $lifetime;
23
25 {
26 $this->cache = $cache;
27 $this->lifetime = $lifetime;
28 }
29
30 public function has($key)
31 {
32 if ($this->cache->has($key)) {
33 if (time() < $this->cache->get($key.'.expires')) {
34 return true;
35 }
36
37 $this->cache->remove($key.'.expires');
38 $this->cache->remove($key);
39 }
40
41 return false;
42 }
43
44 public function get($key)
45 {
46 return $this->cache->get($key);
47 }
48
49 public function set($key, $value)
50 {
51 $this->cache->set($key.'.expires', time() + $this->lifetime);
52 $this->cache->set($key, $value);
53 }
54
55 public function remove($key)
56 {
57 $this->cache->remove($key.'.expires');
58 $this->cache->remove($key);
59 }
60}
Adds expiration to a cache backend.
__construct(CacheInterface $cache, $lifetime)
has($key)
Checks if the cache has a value for a key.
An exception for terminatinating execution or to throw for unit testing.
Interface for a cache backend.