[FileCache] Change output format to JSON

JSON format does not serialize object instances, which we don't
want anyways, and improves readability. The hashing algorithm
changed to md5 to prevent collisions with existing cache files
This commit is contained in:
logmanoriginal 2016-10-16 11:08:08 +02:00
parent 46ce0f85d7
commit 82ed2c5ffb

View file

@ -8,12 +8,11 @@ class FileCache implements CacheInterface {
protected $param; protected $param;
public function loadData(){ public function loadData(){
$datas = unserialize(file_get_contents($this->getCacheFile())); return json_decode(file_get_contents($this->getCacheFile()), true);
return $datas;
} }
public function saveData($datas){ public function saveData($datas){
$writeStream = file_put_contents($this->getCacheFile(), serialize($datas)); $writeStream = file_put_contents($this->getCacheFile(), json_encode($datas, JSON_PRETTY_PRINT));
if(!$writeStream) { if(!$writeStream) {
throw new \Exception("Cannot write the cache... Do you have the right permissions ?"); throw new \Exception("Cannot write the cache... Do you have the right permissions ?");
@ -111,6 +110,6 @@ class FileCache implements CacheInterface {
throw new \Exception('Call "setParameters" first!'); throw new \Exception('Call "setParameters" first!');
} }
return hash('sha1', http_build_query($this->param)) . '.cache'; return hash('md5', http_build_query($this->param)) . '.cache';
} }
} }