Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/wyrihaximus/twig-view/src/Lib/Cache.php
<?php

namespace WyriHaximus\TwigView\Lib;

use
Asm89\Twig\CacheExtension\CacheProviderInterface;
use
Cake\Cache\Cache as CakeCache;

class
Cache implements CacheProviderInterface
{
    const
CACHE_PREFIX = 'twig-view-in-template-item-';

   
/**
     * Retrieve data from the cache.
     *
     * @param string $identifier Identifier for this bit of data to read.
     *
     * @return mixed
     */
   
public function fetch($identifier)
    {
        list(
$config, $key) = $this->configSplit($identifier);

        return
CakeCache::read(static::CACHE_PREFIX . $key, $config);
    }

   
/**
     * Extract $configName and $key from $name and $config.
     *
     * @param string $name   Name.
     * @param string $config Cache configuration name to used.
     *
     * @return array
     */
   
protected function configSplit($name, $config = 'default')
    {
        if (
strpos($name, ':') !== false) {
           
$parts = explode(':', $name, 2);
            return
$parts;
        }

        return [
$config, $name];
    }

   
/**
     * Save data to the cache.
     *
     * @param string  $identifier Identifier for this bit of data to write.
     * @param string  $data       Data to cache.
     * @param integer $lifeTime   Time to life inside the cache.
     *
     * @return boolean
     */
   
public function save($identifier, $data, $lifeTime = 0)
    {
        list(
$config, $key) = $this->configSplit($identifier);

        return
CakeCache::write(static::CACHE_PREFIX . $key, $data, $config);
    }
}