AbstractProvider::getLogger()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php namespace Comodojo\SimpleCache\Providers;
2
3
use \Comodojo\Foundation\Logging\Manager as LogManager;
4
use \Psr\SimpleCache\CacheInterface;
5
use \Psr\Log\LoggerInterface;
6
7
/**
8
 * @package     Comodojo Cache
9
 * @author      Marco Giovinazzi <[email protected]>
10
 * @license     MIT
11
 *
12
 * LICENSE:
13
 *
14
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
 * THE SOFTWARE.
21
 */
22
23
abstract class AbstractProvider implements CacheInterface {
24
25
    /**
26
     * Current logger
27
     *
28
     * @var LoggerInterface
29
     */
30
    protected $logger;
31
32
    protected $driver;
33
34
    /**
35
     * Class constructor
36
     *
37
     * @throws \Comodojo\Exception\CacheException
38
     */
39 145
    public function __construct(LoggerInterface $logger = null) {
40
41 145
        $this->setLogger($logger);
42
43 145
    }
44
45
    /**
46
     * {@inheritdoc}
47
     */
48
    public function getLogger() {
49
50
        return $this->logger;
51
52
    }
53
54
    /**
55
     * {@inheritdoc}
56
     */
57 145
    public function setLogger(LoggerInterface $logger = null) {
58
59 145
        $this->logger = is_null($logger) ? LogManager::create('cache', false)->getLogger() : $logger;
60
61 145
        return $this;
62
63
    }
64
65
    abstract public function get($key, $default = null);
66
67
    abstract public function set($key, $value, $ttl = null);
68
69
    abstract public function delete($key);
70
71
    abstract public function clear();
72
73
    abstract public function getMultiple($keys, $default = null);
74
75
    abstract public function setMultiple($values, $ttl = null);
76
77
    abstract public function deleteMultiple($keys);
78
79
    abstract public function has($key);
80
81
}
82