ILIAS  release_5-2 Revision v5.2.25-18-g3f80b82851
ApcCache.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 
12 namespace Assetic\Cache;
13 
19 class ApcCache implements CacheInterface
20 {
21  public $ttl = 0;
22 
26  public function has($key)
27  {
28  return apc_exists($key);
29  }
30 
34  public function get($key)
35  {
36  $value = apc_fetch($key, $success);
37 
38  if (!$success) {
39  throw new \RuntimeException('There is no cached value for '.$key);
40  }
41 
42  return $value;
43  }
44 
48  public function set($key, $value)
49  {
50  $store = apc_store($key, $value, $this->ttl);
51 
52  if (!$store) {
53  throw new \RuntimeException('Unable to store "'.$key.'" for '.$this->ttl.' seconds.');
54  }
55 
56  return $store;
57  }
58 
62  public function remove($key)
63  {
64  return apc_delete($key);
65  }
66 }
$success
Definition: Utf8Test.php:86
Uses APC to cache files.
Definition: ApcCache.php:19
Interface for a cache backend.