Passed
Push — master ( 1282f8...92a01c )
by Schlaefer
03:31
created

PhileToPsr16CacheAdapter::delete()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 4
nc 2
nop 2
1
<?php
2
/**
3
 * Adapter to use PSR-16 compatible cache class with Phile
4
 */
5
6
namespace Phile\Plugin\Phile\PhpFastCache;
7
8
use Psr\SimpleCache\CacheInterface;
9
10
/**
11
 * Class PhpFastCache
12
 *
13
 * @author  PhileCMS
14
 * @link    https://philecms.com
15
 * @license http://opensource.org/licenses/MIT
16
 * @package Phile\Plugin\Phile\PhpFastCache
17
 */
18
class PhileToPsr16CacheAdapter implements \Phile\ServiceLocator\CacheInterface
19
{
20
    /**
21
     * @var \BasePhpFastCache the cache engine
22
     */
23
    protected $cacheEngine;
24
25
    /**
26
     * the constructor
27
     *
28
     * @param CacheInterface $cacheEngine
29
     */
30
    public function __construct(CacheInterface $cacheEngine)
31
    {
32
        $this->cacheEngine = $cacheEngine;
0 ignored issues
show
Documentation Bug introduced by
It seems like $cacheEngine of type object<Psr\SimpleCache\CacheInterface> is incompatible with the declared type object<BasePhpFastCache> of property $cacheEngine.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
33
    }
34
35
    /**
36
     * method to check if cache has entry for given key
37
     *
38
     * @param $key
39
     *
40
     * @return bool|mixed
41
     */
42
    public function has($key)
43
    {
44
        return $this->cacheEngine->has($key);
45
    }
46
47
    /**
48
     * method to get cache entry
49
     *
50
     * @param $key
51
     *
52
     * @return mixed|null
53
     */
54
    public function get($key)
55
    {
56
        return $this->cacheEngine->get($key);
57
    }
58
59
    /**
60
     * method to set cache entry
61
     *
62
     * @param string $key
63
     * @param string $value
64
     * @param int    $time
65
     * @param array  $options deprecated
66
     *
67
     * @return mixed|void
68
     */
69
    public function set($key, $value, $time = 300, array $options = array())
70
    {
71
        if (!empty($options)) {
72
            // not longer supported by phpFastCache
73
            trigger_error('Argument $options is deprecated and ignored.', E_USER_WARNING);
74
        }
75
        $this->cacheEngine->set($key, $value, $time);
76
    }
77
78
    /**
79
     * method to delete cache entry
80
     *
81
     * @param string $key
82
     * @param array  $options deprecated
83
     *
84
     * @return mixed|void
85
     */
86
    public function delete($key, array $options = array())
87
    {
88
        if (!empty($options)) {
89
            // not longer supported by phpFastCache
90
            trigger_error('Argument $options is deprecated and ignored.', E_USER_WARNING);
91
        }
92
        $this->cacheEngine->delete($key);
93
    }
94
95
    /**
96
     * clean complete cache and delete all cached entries
97
     */
98
    public function clean()
99
    {
100
        $this->cacheEngine->clear();
101
    }
102
}
103