Current File : /home/itiffy/public_html/vendor/laraveldaily/quickadmin/src/Cache/QuickCache.php
<?php
namespace Laraveldaily\Quickadmin\Cache;

use Illuminate\Filesystem\Filesystem;

class QuickCache
{

    private $cacheDir;
    private $files;

    public function __construct()
    {
        $this->cacheDir = storage_path('framework'. DIRECTORY_SEPARATOR .'cache'. DIRECTORY_SEPARATOR);
        $this->files    = new Filesystem();
        if (!file_exists($this->cacheDir)) {
            mkdir($this->cacheDir);
        }
    }

    /**
     * Put information into cache file
     *
     * @param            $filename
     * @param            $content
     */
    public function put($filename, $content)
    {
        // Merge existing content to new content
        if (file_exists($this->cacheDir . $filename) && file_get_contents($this->cacheDir . $filename) != '') {
            $cachedContent = $this->get($filename);
            $content       = array_merge($content, $cachedContent);
        }
        $this->files->put($this->cacheDir . $filename, json_encode($content));
    }

    /**
     * Get file contents
     *
     * @param $filename
     *
     * @return string
     * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException
     */
    public function get($filename)
    {
        return (array) json_decode($this->files->get($this->cacheDir . $filename));
    }

    /**
     * Delete cache file
     *
     * @param $filename
     */
    public function destroy($filename)
    {
        $this->files->delete($this->cacheDir . $filename);
    }
}