本文整理匯總了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;
}