Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Cache/Adapter/DoctrineCacheDriver.php
Строк: 67
<?php

namespace ConcreteCoreCacheAdapter;


use 
ConcreteCoreCacheCache;
use 
DoctrineCommonCacheCacheProvider;
use 
Core;

/**
 * Simple cache driver that enables doctrine to use c5's caching library
 * @package ConcreteCoreCache
 */
class DoctrineCacheDriver extends CacheProvider
{
    
/** @var Cache  */
    
private $c5Cache null;
    
/**
     * @var string Name of the cache being used
     */
    
private $cacheName;

    
/**
     * @param string $cacheName Name of the cache being used. Defaults to cache.
     */
    
public function __construct($cacheName 'cache') {
        
$this->cacheName $cacheName;
    }

    
/**
     * @return Cache
     */
    
private function getC5Cache()
    {
        if (
$this->c5Cache === null) {
            
$this->c5Cache Core::make($this->cacheName);
        }
        
        return 
$this->c5Cache;
    }
    
    
/**
     * @inheritdoc
     */
    
protected function doFetch($id)
    {
        if (!
$this->getC5Cache()->isEnabled()) {
            return 
false;
        }
        
$item $this->getC5Cache()->getItem('doctrine/' $id);
        return 
$item->isMiss() ? false $item->get();
    }

    
/**
     * @inheritdoc
     */
    
protected function doContains($id)
    {
        if (!
$this->getC5Cache()->isEnabled()) {
            return 
false;
        }
        return 
$this->getC5Cache()->exists('doctrine/' $id);
    }

    
/**
     * @inheritdoc
     */
    
protected function doSave($id$data$lifeTime 0)
    {
        if (!
$this->getC5Cache()->isEnabled()) {
            return 
false;
        }
        if (
$lifeTime === 0) {
            
$lifeTime null;
        }
        return 
$this->getC5Cache()->getItem('doctrine/' $id)->set($data$lifeTime);
    }

    
/**
     * @inheritdoc
     */
    
protected function doDelete($id)
    {
        if (!
$this->getC5Cache()->isEnabled()) {
            return 
false;
        }
        return 
$this->getC5Cache()->delete('doctrine/' $id);
    }

    
/**
     * @inheritdoc
     */
    
protected function doFlush()
    {
        if (!
$this->getC5Cache()->isEnabled()) {
            return 
false;
        }
        return 
$this->getC5Cache()->flush();
    }

    
/**
     * @inheritdoc
     */
    
protected function doGetStats()
    {
        return 
null;
    }
}
Онлайн: 0
Реклама