File "CodeIgniterCache.php"
Full Path: /home/fundopuh/trader.fxex.org/vendor/botman/botman/src/Cache/CodeIgniterCache.php
File size: 1.67 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace BotMan\BotMan\Cache;
use BotMan\BotMan\Interfaces\CacheInterface;
class CodeIgniterCache implements CacheInterface
{
/**
* @var array
*/
private $cache;
/**
* @param array $driver
*/
public function __construct($driver)
{
$this->cache = $driver;
}
/**
* Determine if an item exists in the cache.
*
* @param string $key
* @return bool
*/
public function has($key)
{
return $this->cache->get($key) !== false;
}
/**
* Retrieve an item from the cache by key.
*
* @param string $key
* @param mixed $default
* @return mixed
*/
public function get($key, $default = null)
{
if ($this->has($key)) {
return $this->cache->get($key);
}
return $default;
}
/**
* Retrieve an item from the cache and delete it.
*
* @param string $key
* @param mixed $default
* @return mixed
*/
public function pull($key, $default = null)
{
if ($this->has($key)) {
$cached = $this->cache->get($key);
$this->cache->delete($key);
return $cached;
}
return $default;
}
/**
* Store an item in the cache.
*
* @param string $key
* @param mixed $value
* @param \DateTime|int $minutes
* @return void
*/
public function put($key, $value, $minutes)
{
if ($minutes instanceof \Datetime) {
$seconds = $minutes->getTimestamp() - time();
} else {
$seconds = $minutes * 60;
}
$this->cache->save($key, $value, $seconds);
}
}