-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAbstractAdapter.php
More file actions
137 lines (124 loc) · 2.54 KB
/
AbstractAdapter.php
File metadata and controls
137 lines (124 loc) · 2.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
/**
* Abstract Adapter for Cache
*
* @package Molajo
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @copyright 2014-2015 Amy Stephen. All rights reserved.
*/
namespace Molajo\Cache\Adapter;
use Molajo\Cache\CacheItem;
use CommonApi\Cache\CacheInterface;
/**
* Abstract Adapter Cache
*
* @author Amy Stephen
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @copyright 2014-2015 Amy Stephen. All rights reserved.
* @since 1.0.0
*/
abstract class AbstractAdapter implements CacheInterface
{
/**
* Cache Adapter
*
* @var string
* @since 1.0
*/
protected $cache_handler;
/**
* Cache
*
* @var bool
* @since 1.0
*/
protected $cache_enabled = false;
/**
* Cache Time in seconds
*
* @var Integer
* @since 1.0
*/
protected $cache_time = 86400;
/**
* Constructor
*
* @param string $cache_handler
* @param array $options
*
* @since 1.0
*/
public function __construct(array $options = array())
{
$this->connect($options);
}
/**
* Connect to Cache
*
* @param array $options
*
* @return $this
* @since 1.0
*/
public function connect($options = array())
{
if (isset($options['cache_enabled'])) {
$this->cache_enabled = (boolean)$options['cache_enabled'];
}
if (isset($options['cache_time'])) {
$this->cache_time = $options['cache_time'];
}
if ((int)$this->cache_time === 0) {
$this->cache_time = 86400;
}
return $this;
}
/**
* Return cached value
*
* @param string $key
*
* @return CacheItem
* @since 1.0
*/
public function get($key)
{
return $this;
}
/**
* Create a cache entry
*
* @param string $key
* @param mixed $value
* @param integer $ttl (number of seconds)
*
* @return $this
* @since 1.0
*/
public function set($key, $value, $ttl = 0)
{
return $this;
}
/**
* Remove cache for specified $key value
*
* @param string $key
*
* @return $this
* @since 1.0
*/
public function remove($key = null)
{
return $this;
}
/**
* Clear all cache
*
* @return $this
* @since 1.0
*/
public function clear()
{
return $this;
}
}