ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
FilesystemCache.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 $dir;
22
23 public function __construct($dir)
24 {
25 $this->dir = $dir;
26 }
27
28 public function has($key)
29 {
30 return file_exists($this->dir.'/'.$key);
31 }
32
33 public function get($key)
34 {
35 $path = $this->dir.'/'.$key;
36
37 if (!file_exists($path)) {
38 throw new \RuntimeException('There is no cached value for '.$key);
39 }
40
41 return file_get_contents($path);
42 }
43
44 public function set($key, $value)
45 {
46 if (!is_dir($this->dir) && false === @mkdir($this->dir, 0777, true)) {
47 throw new \RuntimeException('Unable to create directory '.$this->dir);
48 }
49
50 $path = $this->dir.'/'.$key;
51
52 if (false === @file_put_contents($path, $value)) {
53 throw new \RuntimeException('Unable to write file '.$path);
54 }
55 }
56
57 public function remove($key)
58 {
59 $path = $this->dir.'/'.$key;
60
61 if (file_exists($path) && false === @unlink($path)) {
62 throw new \RuntimeException('Unable to remove file '.$path);
63 }
64 }
65}
$path
Definition: aliased.php:25
A simple filesystem cache.
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.