Submit
Path:
~
/
/
usr
/
local
/
psa
/
admin
/
plib
/
vendor
/
jms
/
metadata
/
src
/
Cache
/
File Content:
DoctrineCacheAdapter.php
<?php declare(strict_types=1); namespace Metadata\Cache; use Doctrine\Common\Cache\Cache; use Metadata\ClassMetadata; /** * @author Henrik Bjornskov <henrik@bjrnskov.dk> */ class DoctrineCacheAdapter implements CacheInterface, ClearableCacheInterface { /** * @var string */ private $prefix; /** * @var Cache */ private $cache; public function __construct(string $prefix, Cache $cache) { $this->prefix = $prefix; $this->cache = $cache; } public function load(string $class): ?ClassMetadata { $cache = $this->cache->fetch($this->prefix . $class); return false === $cache ? null : $cache; } public function put(ClassMetadata $metadata): void { $this->cache->save($this->prefix . $metadata->name, $metadata); } public function evict(string $class): void { $this->cache->delete($this->prefix . $class); } public function clear(): bool { if (method_exists($this->cache, 'deleteAll')) { // or $this->cache instanceof ClearableCache return call_user_func([$this->cache, 'deleteAll']); } return false; } }
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
CacheInterface.php
505 bytes
0644
ClearableCacheInterface.php
258 bytes
0644
DoctrineCacheAdapter.php
1190 bytes
0644
FileCache.php
4015 bytes
0644
PsrCacheAdapter.php
1738 bytes
0644
N4ST4R_ID | Naxtarrr