ACC SHELL
<?php
/**
* This file is part of the Nette Framework (http://nette.org)
* Copyright (c) 2004 David Grudl (http://davidgrudl.com)
* @package Nette\Caching\Storages
*/
/**
* Memory cache storage.
*
* @author David Grudl
* @package Nette\Caching\Storages
*/
class NMemoryStorage extends NObject implements ICacheStorage
{
/** @var array */
private $data = array();
/**
* Read from cache.
* @param string key
* @return mixed|NULL
*/
public function read($key)
{
return isset($this->data[$key]) ? $this->data[$key] : NULL;
}
/**
* Prevents item reading and writing. Lock is released by write() or remove().
* @param string key
* @return void
*/
public function lock($key)
{
}
/**
* Writes item into the cache.
* @param string key
* @param mixed data
* @param array dependencies
* @return void
*/
public function write($key, $data, array $dependencies)
{
$this->data[$key] = $data;
}
/**
* Removes item from the cache.
* @param string key
* @return void
*/
public function remove($key)
{
unset($this->data[$key]);
}
/**
* Removes items from the cache by conditions & garbage collector.
* @param array conditions
* @return void
*/
public function clean(array $conditions)
{
if (!empty($conditions[NCache::ALL])) {
$this->data = array();
}
}
}
ACC SHELL 2018