Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
/**
4
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
7
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
9
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
10
 * THE SOFTWARE.
11
 *
12
 * This software consists of voluntary contributions made by many individuals
13
 * and is licensed under the MIT license.
14
 *
15
 * Copyright (c) 2014-2022 Yuuki Takezawa
16
 *
17
 */
18
 
19
declare(strict_types=1);
20
 
21
namespace Ytake\LaravelSmarty\Cache;
22
 
23
use Smarty_CacheResource_KeyValueStore;
24
 
25
use function sha1;
26
 
27
/**
28
 * Class KeyValueStorage
29
 *
30
 * @author  yuuki.takezawa<yuuki.takezawa@comnect.jp.net>
31
 * @license http://opensource.org/licenses/MIT MIT
32
 */
33
abstract class KeyValueStorage extends Smarty_CacheResource_KeyValueStore
34
{
35
    /**
36
     * @param array $keys
37
     * @param array $map
38
     * @param array $lookup
39
     *
40
     * @return array
41
     */
42
    protected function eachKeys(array $keys, array $map, array $lookup): array
43
    {
44
        foreach ($keys as $k) {
45
            $hash = sha1($k);
46
            $map[] = $hash;
47
            $lookup[$hash] = $k;
48
        }
49
 
50
        return [$map, $lookup];
51
    }
52
}