for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace MatthiasMullie\Scrapbook\Adapters\Collections\Utils;
use MatthiasMullie\Scrapbook\KeyValueStore;
/**
* @author Matthias Mullie <[email protected]>
* @copyright Copyright (c) 2014, Matthias Mullie. All rights reserved
* @license LICENSE MIT
*/
class PrefixReset extends PrefixKeys
{
* @var string
protected $collection;
* @param string $name
public function __construct(KeyValueStore $cache, $name)
$this->cache = $cache;
$this->collection = $name;
parent::__construct($cache, $this->getPrefix());
}
* {@inheritdoc}
public function flush()
$index = $this->cache->increment($this->collection);
$this->setPrefix($this->collection.':'.$index.':');
return false !== $index;
* @return string
protected function getPrefix()
/*
* It's easy enough to just set a prefix to be used, but we can not
* flush only a prefix!
* Instead, we'll generate a unique prefix key, based on some name.
* If we want to flush, we just create a new prefix and use that one.
$index = $this->cache->get($this->collection);
if (false === $index) {
$index = $this->cache->set($this->collection, 1);
return $this->collection.':'.$index.':';