Using forked repo and cache engine

This commit is contained in:
Pablo Ferreiro 2022-01-13 16:51:45 +01:00
parent a0c60397af
commit 86f6c86c4c
No known key found for this signature in database
GPG key ID: 41FBCE65B779FA24
16 changed files with 179 additions and 282 deletions

View file

@ -0,0 +1,26 @@
<?php
namespace Helpers\CacheEngines;
class JSONCache {
const CACHE_PATH = __DIR__ . '/../../cache/api/';
public function get(string $cache_key): object|false {
if (is_file(self::CACHE_PATH . $cache_key . '.json')) {
$time = time();
$json_string = file_get_contents(self::CACHE_PATH . $cache_key . '.json');
$element = json_decode($json_string);
if ($time < $element->expires) {
return $element->data;
}
// Remove file if expired
unlink(self::CACHE_PATH . $cache_key . '.json');
}
return false;
}
public function set(string $cache_key, mixed $data, $timeout = 3600) {
file_put_contents(self::CACHE_PATH . $cache_key . '.json', json_encode([
'data' => $data,
'expires' => time() + $timeout
]));
}
}