本文整理汇总了PHP中Zend\Cache\Storage\StorageInterface::clearByNamespace方法的典型用法代码示例。如果您正苦于以下问题:PHP StorageInterface::clearByNamespace方法的具体用法?PHP StorageInterface::clearByNamespace怎么用?PHP StorageInterface::clearByNamespace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Cache\Storage\StorageInterface
的用法示例。
在下文中一共展示了StorageInterface::clearByNamespace方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testClearByNamespace
public function testClearByNamespace()
{
if (!$this->_storage instanceof ClearByNamespaceInterface) {
$this->markTestSkipped("Storage doesn't implement ClearByNamespaceInterface");
}
// write 2 items of 2 different namespaces
$this->_options->setNamespace('ns1');
$this->assertTrue($this->_storage->setItem('key1', 'value1'));
$this->_options->setNamespace('ns2');
$this->assertTrue($this->_storage->setItem('key2', 'value2'));
// clear unknown namespace should return true but clear nothing
$this->assertTrue($this->_storage->clearByNamespace('unknown'));
$this->_options->setNamespace('ns1');
$this->assertTrue($this->_storage->hasItem('key1'));
$this->_options->setNamespace('ns2');
$this->assertTrue($this->_storage->hasItem('key2'));
// clear "ns1"
$this->assertTrue($this->_storage->clearByNamespace('ns1'));
$this->_options->setNamespace('ns1');
$this->assertFalse($this->_storage->hasItem('key1'));
$this->_options->setNamespace('ns2');
$this->assertTrue($this->_storage->hasItem('key2'));
// clear "ns2"
$this->assertTrue($this->_storage->clearByNamespace('ns2'));
$this->_options->setNamespace('ns1');
$this->assertFalse($this->_storage->hasItem('key1'));
$this->_options->setNamespace('ns2');
$this->assertFalse($this->_storage->hasItem('key2'));
}
示例2: testClearByNamespaceThrowsInvalidArgumentExceptionOnEmptyNamespace
public function testClearByNamespaceThrowsInvalidArgumentExceptionOnEmptyNamespace()
{
if (!$this->_storage instanceof ClearByNamespaceInterface) {
$this->markTestSkipped("Storage doesn't implement ClearByNamespaceInterface");
}
$this->setExpectedException('Zend\\Cache\\Exception\\InvalidArgumentException');
$this->_storage->clearByNamespace('');
}
示例3: __destruct
/**
* Object destructor
*
* Clean up cache storage
*/
public function __destruct()
{
if ($this->cache !== null) {
if ($this->cache instanceof ClearByNamespaceCacheStorage) {
$this->cache->clearByNamespace($this->cache->getOptions()->getNamespace());
} elseif ($this->cache instanceof FlushableCacheStorage) {
$this->cache->flush();
}
}
}
示例4: clear
/**
* Deletes all items in the pool.
*
* @return bool
* True if the pool was successfully cleared. False if there was an error.
*/
public function clear()
{
$cleared = false;
try {
/* @todo Not at all sure about this... do we really want to flush()? What happens if the storage supports
/* namespaces, but none has been provided? */
$options = $this->storage->getOptions();
$namespace = $options->getNamespace();
if ($this->storage instanceof ClearByNamespaceInterface && $namespace) {
$cleared = $this->storage->clearByNamespace($namespace);
} elseif ($this->storage instanceof FlushableInterface) {
$cleared = $this->storage->flush();
} else {
throw new CacheException(sprintf("Storage %s does not support clear()", get_class($this->storage)));
}
} catch (Exception\InvalidArgumentException $e) {
throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e);
} catch (Exception\ExceptionInterface $e) {
throw new CacheException($e->getMessage(), $e->getCode(), $e);
}
return $cleared;
}