Source of file Cacher.php
Size: 1,409 Bytes - Last Modified: 2021-12-23T10:38:50+00:00
/var/www/docs.ssmods.com/process/src/src/Traits/Cacher.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | <?php namespace Sunnysideup\AssetsOverview\Traits; use Psr\SimpleCache\CacheInterface; use SilverStripe\Core\Injector\Injector; trait Cacher { private static $loadedFromCache = true; private static $cacheCache; /** * return false if the cache has been set or a cache key was not found. */ public static function loadedFromCache(): bool { return self::$loadedFromCache; } public static function flushCache() { $cache = self::getCache(); $cache->clear(); } /** * @return CacheInterface */ protected static function getCache() { if (null === self::$cacheCache) { self::$cacheCache = Injector::inst()->get(CacheInterface::class . '.assetsoverviewCache'); } return self::$cacheCache; } /** * @param mixed $value */ protected function setCacheValue(string $cacheKey, $value) { self::$loadedFromCache = false; $cache = self::getCache(); $cache->set($cacheKey, serialize($value)); } /** * @return mixed */ protected function getCacheValue(string $cacheKey) { $cache = self::getCache(); return unserialize($cache->get($cacheKey)); } protected function hasCacheKey(string $cacheKey): bool { $cache = self::getCache(); return $cache->has($cacheKey); } } |