Subversion Repositories cheapmusic

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
103 - 1
<?php
2
/*
3
 * Copyright 2015 Google Inc.
4
 *
5
 * Licensed under the Apache License, Version 2.0 (the "License");
6
 * you may not use this file except in compliance with the License.
7
 * You may obtain a copy of the License at
8
 *
9
 *     http://www.apache.org/licenses/LICENSE-2.0
10
 *
11
 * Unless required by applicable law or agreed to in writing, software
12
 * distributed under the License is distributed on an "AS IS" BASIS,
13
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 * See the License for the specific language governing permissions and
15
 * limitations under the License.
16
 */
17
 
18
namespace Google\Auth;
19
 
20
trait CacheTrait
21
{
22
    /**
23
     * Gets the cached value if it is present in the cache when that is
24
     * available.
25
     */
26
    private function getCachedValue($k)
27
    {
28
        if (is_null($this->cache)) {
29
            return;
30
        }
31
 
32
        $key = $this->getFullCacheKey($k);
33
        if (is_null($key)) {
34
            return;
35
        }
36
 
37
        $cacheItem = $this->cache->getItem($key);
38
        return $cacheItem->get();
39
    }
40
 
41
    /**
42
     * Saves the value in the cache when that is available.
43
     */
44
    private function setCachedValue($k, $v)
45
    {
46
        if (is_null($this->cache)) {
47
            return;
48
        }
49
 
50
        $key = $this->getFullCacheKey($k);
51
        if (is_null($key)) {
52
            return;
53
        }
54
 
55
        $cacheItem = $this->cache->getItem($key);
56
        $cacheItem->set($v);
57
        $cacheItem->expiresAfter($this->cacheConfig['lifetime']);
58
        return $this->cache->save($cacheItem);
59
    }
60
 
61
    private function getFullCacheKey($key)
62
    {
63
        if (is_null($key)) {
64
            return;
65
        }
66
 
67
        $key = $this->cacheConfig['prefix'] . $key;
68
 
69
        // ensure we do not have illegal characters
70
        return preg_replace('|[^a-zA-Z0-9_\.!]|', '', $key);
71
    }
72
}