for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace SilverStripe\Security\Tests\InheritedPermissionsFlusherTest;
use Psr\SimpleCache\CacheInterface;
use SilverStripe\Core\Cache\MemberCacheFlusher;
class TestCacheFlusher implements MemberCacheFlusher
{
/**
* @var array
*/
public static $categories = [
'apples',
'pears',
'bananas',
];
* @var CacheInterface
public $cache;
* TestCacheFlusher constructor.
* @param CacheInterface $cache
public function __construct(CacheInterface $cache)
$this->cache = $cache;
}
* Clear the cache for this instance only
*
* @param array $memberIDs A list of member IDs
public function flushMemberCache($memberIDs = null)
if (!$this->cache) {
return;
// Hard flush, e.g. flush=1
if (!$memberIDs) {
$this->cache->clear();
if ($memberIDs && is_array($memberIDs)) {
foreach (self::$categories as $category) {
foreach ($memberIDs as $memberID) {
$key = $this->generateCacheKey($category, $memberID);
$this->cache->delete($key);
* @param $category
* @param $memberID
* @return string
public function generateCacheKey($category, $memberID)
return "{$category}__{$memberID}";