Files
iTop/lib/symfony/cache/Tests/Fixtures/ArrayCache.php
Molkobain 5960dc6245 N°2435.1 Portal: Split portal composer.json in 2
- Autoloader for portal files in the itop-portal-base module
- Dependencies moved to root composer.json
- Add autoloader for /core and /application content
2019-08-13 10:34:22 +02:00

53 lines
961 B
PHP

<?php
namespace Symfony\Component\Cache\Tests\Fixtures;
use Doctrine\Common\Cache\CacheProvider;
class ArrayCache extends CacheProvider
{
private $data = [];
protected function doFetch($id)
{
return $this->doContains($id) ? $this->data[$id][0] : false;
}
protected function doContains($id)
{
if (!isset($this->data[$id])) {
return false;
}
$expiry = $this->data[$id][1];
return !$expiry || time() < $expiry || !$this->doDelete($id);
}
protected function doSave($id, $data, $lifeTime = 0)
{
$this->data[$id] = [$data, $lifeTime ? time() + $lifeTime : false];
return true;
}
protected function doDelete($id)
{
unset($this->data[$id]);
return true;
}
protected function doFlush()
{
$this->data = [];
return true;
}
protected function doGetStats()
{
return null;
}
}