File: D:/web/matomo.vdk/vendor/matomo/cache/src/Backend/ArrayCache.php
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL v3 or later
*
*/
namespace Matomo\Cache\Backend;
use Matomo\Cache\Backend;
class ArrayCache implements Backend
{
private $data = array();
/**
* {@inheritdoc}
*/
public function doFetch($id)
{
return $this->doContains($id) ? $this->data[$id] : false;
}
/**
* {@inheritdoc}
*/
public function doContains($id)
{
// isset() is required for performance optimizations, to avoid unnecessary function calls to array_key_exists.
return isset($this->data[$id]) || array_key_exists($id, $this->data);
}
/**
* {@inheritdoc}
*/
public function doSave($id, $data, $lifeTime = 0)
{
$this->data[$id] = $data;
return true;
}
/**
* {@inheritdoc}
*/
public function doDelete($id)
{
unset($this->data[$id]);
return true;
}
public function doFlush()
{
$this->data = array();
return true;
}
}