cache
This commit is contained in:
@@ -8,6 +8,7 @@ use CodeIgniter\HTTP\IncomingRequest;
|
||||
use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
//use CodeIgniter\Cache\CacheInterface;
|
||||
|
||||
/**
|
||||
* Class BaseController
|
||||
@@ -49,4 +50,48 @@ abstract class BaseController extends Controller
|
||||
|
||||
// E.g.: $this->session = \Config\Services::session();
|
||||
}
|
||||
|
||||
public function saveCache($cacheKey,$data){
|
||||
$cacheKey = CACHE_DOMAIN."-".$cacheKey;
|
||||
// $cache = \Config\Services::cache();
|
||||
if (! $foo = cache($cacheKey)) {
|
||||
// echo 'Saving to the cache!<br>';
|
||||
// cache()->save($cacheKey, $this->data_stringify($data), 3000);
|
||||
cache()->save($cacheKey, serialize($data), 3000);
|
||||
|
||||
//serialize
|
||||
}
|
||||
$foo = cache()->get($cacheKey);
|
||||
log_message('critical', "FROM Cache -> ".$foo );
|
||||
|
||||
}
|
||||
|
||||
public function getCache($cacheKey){
|
||||
$data = [];
|
||||
$cacheKey = CACHE_DOMAIN."-".$cacheKey;
|
||||
if (cache($cacheKey)) {
|
||||
// echo 'Getting Data From Cache!<br>';
|
||||
$data = unserialize(cache()->get($cacheKey));
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
private function data_stringify($data) {
|
||||
switch (gettype($data)) {
|
||||
case 'string' : return '\''.addcslashes($data, "'\\").'\'';
|
||||
case 'boolean': return $data ? 'true' : 'false';
|
||||
case 'NULL' : return 'null';
|
||||
case 'object' :
|
||||
case 'array' :
|
||||
$expressions = [];
|
||||
foreach ($data as $c_key => $c_value) {
|
||||
$expressions[] = $this->data_stringify($c_key).' => '.
|
||||
$this->data_stringify($c_value);
|
||||
}
|
||||
return gettype($data) === 'object' ?
|
||||
'(object)['.implode(', ', $expressions).']' :
|
||||
'['.implode(', ', $expressions).']';
|
||||
default: return (string)$data;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user