本文整理匯總了PHP中Zend\Cache\Storage\StorageInterface::flush方法的典型用法代碼示例。如果您正苦於以下問題:PHP StorageInterface::flush方法的具體用法?PHP StorageInterface::flush怎麽用?PHP StorageInterface::flush使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Zend\Cache\Storage\StorageInterface
的用法示例。
在下文中一共展示了StorageInterface::flush方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: invalidate
/**
* @param Event $e
* @param string $class
* @param string $event
* @return void
*/
public function invalidate(Event $e, $class, $event)
{
$term = $e->getParam('term');
$result = false;
if ($term instanceof TaxonomyTermInterface) {
$result = $this->cacheService->clearByTags(['route_taxonomy/term/get', 'param_term_' . $term->getId()]);
$this->cacheService->clearByTags(['navigation/render']);
$this->clearParents($term);
}
if ($this->storage instanceof FlushableInterface && !$result) {
$this->storage->flush();
}
}
示例2: invalidate
/**
* @param Event $e
* @param string $class
* @param string $event
* @return void
*/
public function invalidate(Event $e, $class, $event)
{
$repository = $e->getParam('repository');
$result = false;
if ($repository instanceof EntityInterface) {
$result = $this->cacheService->clearByTags(['route_entity/page', 'param_entity_' . $repository->getId()]);
$this->clearTaxonomyTerms($repository->getTaxonomyTerms());
} elseif ($repository instanceof PageRepositoryInterface) {
$result = $this->cacheService->clearByTags(['route_page/view', 'param_page_' . $repository->getId()]);
}
if ($this->storage instanceof FlushableInterface && !$result) {
$this->storage->flush();
}
}
示例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: testFlush
public function testFlush()
{
if (!$this->_storage instanceof FlushableInterface) {
$this->markTestSkipped("Storage doesn't implement OptimizableInterface");
}
$this->assertSame(array(), $this->_storage->setItems(array('key1' => 'value1', 'key2' => 'value2')));
$this->assertTrue($this->_storage->flush());
$this->assertFalse($this->_storage->hasItem('key1'));
$this->assertFalse($this->_storage->hasItem('key2'));
}
示例5: 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;
}
示例6: invalidate
/**
* @param Event $e
* @param string $class
* @param string $event
* @return void
*/
public function invalidate(Event $e, $class, $event)
{
if ($this->storage instanceof FlushableInterface) {
$this->storage->flush();
}
}