Файл: contao-3.5.8/system/modules/core/library/Contao/Cache.php
Строк: 119
<?php
/**
* Contao Open Source CMS
*
* Copyright (c) 2005-2016 Leo Feyer
*
* @license LGPL-3.0+
*/
namespace Contao;
/**
* A static class to store non-persistent data
*
* The class functions as a global cache container where you can store data
* that is reused by the application. The cache content is not persisted, so
* once the process is completed, the data is gone.
*
* Usage:
*
* public function getResult()
* {
* if (!Cache::has('result'))
* {
* Cache::set('result') = $this->complexMethod();
* }
* return Cache::get('result');
* }
*
* @author Leo Feyer <https://github.com/leofeyer>
*/
class Cache
{
/**
* Object instance (Singleton)
* @var Cache
*/
protected static $objInstance;
/**
* The cache data
* @var array
*/
protected static $arrData = array();
/**
* Check whether a key is set
*
* @param string $strKey The cache key
*
* @return boolean True if the key is set
*/
public static function has($strKey)
{
return isset(static::$arrData[$strKey]);
}
/**
* Return a cache entry
*
* @param string $strKey The cache key
*
* @return mixed The cached data
*/
public static function get($strKey)
{
return static::$arrData[$strKey];
}
/**
* Add a cache entry
*
* @param string $strKey The cache key
* @param mixed $varValue The data to be cached
*/
public static function set($strKey, $varValue)
{
static::$arrData[$strKey] = $varValue;
}
/**
* Remove a cache entry
*
* @param string $strKey The cache key
*/
public static function remove($strKey)
{
unset(static::$arrData[$strKey]);
}
/**
* Prevent direct instantiation (Singleton)
*
* @deprecated Cache is now a static class
*/
protected function __construct() {}
/**
* Prevent cloning of the object (Singleton)
*
* @deprecated Cache is now a static class
*/
final public function __clone() {}
/**
* Check whether a key is set
*
* @param string $strKey The cache key
*
* @return boolean True if the key is set
*
* @deprecated Use Cache::has() instead
*/
public function __isset($strKey)
{
return static::has($strKey);
}
/**
* Return a cache entry
*
* @param string $strKey The cache key
*
* @return mixed|null The cached data
*
* @deprecated Use Cache::get() instead
*/
public function __get($strKey)
{
if (static::has($strKey))
{
return static::get($strKey);
}
return null;
}
/**
* Add a cache entry
*
* @param string $strKey The cache key
* @param mixed $varValue The data to be stored
*
* @deprecated Use Cache::set() instead
*/
public function __set($strKey, $varValue)
{
static::set($strKey, $varValue);
}
/**
* Remove a cache entry
*
* @param string $strKey The cache key
*
* @deprecated Use Cache::remove() instead
*/
public function __unset($strKey)
{
static::remove($strKey);
}
/**
* Instantiate the cache object (Factory)
*
* @return Cache The object instance
*
* @deprecated Cache is now a static class
*/
public static function getInstance()
{
if (static::$objInstance === null)
{
static::$objInstance = new static();
}
return static::$objInstance;
}
}