本文整理汇总了PHP中Magento\Framework\App\Cache\TypeListInterface类的典型用法代码示例。如果您正苦于以下问题:PHP TypeListInterface类的具体用法?PHP TypeListInterface怎么用?PHP TypeListInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TypeListInterface类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testAfterDelete
public function testAfterDelete()
{
$this->configMock->expects($this->any())->method('getValue')->willReturnMap([[Theme::XML_PATH_INVALID_CACHES, ScopeInterface::SCOPE_STORE, null, ['block_html' => 1, 'layout' => 1, 'translate' => 1]], [null, ScopeConfigInterface::SCOPE_TYPE_DEFAULT, null, 'old_value']]);
$this->cacheTypeListMock->expects($this->exactly(2))->method('invalidate');
$this->model->setValue('some_value');
$this->assertSame($this->model, $this->model->afterDelete());
}
示例2: execute
/**
* Invalidate full page cache
*
* @return void
*/
public function execute()
{
if ($this->_config->isEnabled()) {
$this->_typeList->invalidate('full_page');
}
return $this;
}
示例3: testAfterSave
/**
* @param int $callNumber
* @param string $oldValue
* @dataProvider afterSaveDataProvider
*/
public function testAfterSave($callNumber, $oldValue)
{
$this->cacheTypeListMock->expects($this->exactly($callNumber))->method('invalidate');
$this->configMock->expects($this->any())->method('getValue')->willReturnMap([[Theme::XML_PATH_INVALID_CACHES, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, null, ['block_html' => 1, 'layout' => 1, 'translate' => 1]], [null, \Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT, null, $oldValue]]);
$this->model->setValue('some_value');
$this->assertInstanceOf(get_class($this->model), $this->model->afterSave());
}
示例4: execute
/**
* Invalidate full page and block cache
*
* @param \Magento\Framework\Event\Observer $observer
* @return void
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function execute(\Magento\Framework\Event\Observer $observer)
{
if ($this->_config->isEnabled()) {
$this->_typeList->invalidate(\Magento\PageCache\Model\Cache\Type::TYPE_IDENTIFIER);
}
$this->_typeList->invalidate(\Magento\Framework\App\Cache\Type\Block::TYPE_IDENTIFIER);
}
示例5: execute
/**
* Toggle cache
*
*/
public function execute()
{
$allTypes = array_keys($this->_cacheTypeList->getTypes());
$updatedTypes = 0;
$disable = true;
$enable = true;
foreach ($allTypes as $code) {
if ($this->_cacheState->isEnabled($code) && $disable) {
$this->_cacheState->setEnabled($code, false);
$updatedTypes++;
$enable = false;
}
if (!$this->_cacheState->isEnabled($code) && $enable) {
$this->_cacheState->setEnabled($code, true);
$updatedTypes++;
$disable = false;
}
if ($disable) {
$this->_cacheTypeList->cleanType($code);
}
}
if ($updatedTypes > 0) {
$this->_cacheState->persist();
$this->messageManager->addSuccess(__("%1 cache type(s) disabled.", $updatedTypes));
}
}
示例6: afterExecute
/**
* @param AbstractAction $subject
* @param AbstractAction $result
* @return AbstractAction
*
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function afterExecute(AbstractAction $subject, AbstractAction $result)
{
if ($this->config->isEnabled()) {
$this->typeList->invalidate('full_page');
}
return $result;
}
示例7: afterAfterSave
/**
* Invalidate WebApi cache if needed.
*
* @param \Magento\Framework\App\Config\Value $subject
* @param \Magento\Framework\App\Config\Value $result
* @return \Magento\Framework\App\Config\Value
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function afterAfterSave(\Magento\Framework\App\Config\Value $subject, \Magento\Framework\App\Config\Value $result)
{
if ($subject->getPath() == \Magento\WebapiSecurity\Model\Plugin\AnonymousResourceSecurity::XML_ALLOW_INSECURE && $subject->isValueChanged()) {
$this->cacheTypeList->invalidate(\Magento\Framework\App\Cache\Type\Webapi::TYPE_IDENTIFIER);
}
return $result;
}
示例8: _getCacheTypesForRefresh
/**
* Get array of cache types which require data refresh
*
* @return array
*/
protected function _getCacheTypesForRefresh()
{
$output = array();
foreach ($this->_cacheTypeList->getInvalidated() as $type) {
$output[] = $type->getCacheType();
}
return $output;
}
示例9: testAfterExecuteInvalidate
public function testAfterExecuteInvalidate()
{
$subject = $this->getMockBuilder('Magento\\Catalog\\Model\\Indexer\\Category\\Product\\AbstractAction')->disableOriginalConstructor()->getMockForAbstractClass();
$result = $this->getMockBuilder('Magento\\Catalog\\Model\\Indexer\\Category\\Product\\AbstractAction')->disableOriginalConstructor()->getMockForAbstractClass();
$this->config->expects($this->once())->method('isEnabled')->willReturn(true);
$this->typeList->expects($this->once())->method('invalidate')->with('full_page');
$this->assertEquals($result, $this->execute->afterExecute($subject, $result));
}
示例10: afterSave
/**
* @param \Magento\Catalog\Model\ResourceModel\Eav\Attribute $subject
* @param \Magento\Catalog\Model\ResourceModel\Eav\Attribute $result
* @return \Magento\Catalog\Model\ResourceModel\Eav\Attribute
*/
public function afterSave(\Magento\Catalog\Model\ResourceModel\Eav\Attribute $subject, \Magento\Catalog\Model\ResourceModel\Eav\Attribute $result)
{
if ($this->swatchHelper->isSwatchAttribute($subject)) {
$this->typeList->invalidate(Block::TYPE_IDENTIFIER);
$this->typeList->invalidate(Collection::TYPE_IDENTIFIER);
}
return $result;
}
示例11: aroundSave
/**
* @param \Magento\Catalog\Model\Resource\Attribute $subject
* @param callable $proceed
* @param \Magento\Framework\Model\AbstractModel $attribute
* @return mixed
*
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function aroundSave(\Magento\Catalog\Model\Resource\Attribute $subject, \Closure $proceed, \Magento\Framework\Model\AbstractModel $attribute)
{
$result = $proceed($attribute);
if ($this->config->isEnabled()) {
$this->typeList->invalidate('full_page');
}
return $result;
}
示例12: testExecute
/**
* @dataProvider invalidateCacheDataProvider
* @param bool $cacheState
*/
public function testExecute($cacheState)
{
$this->_configMock->expects($this->once())->method('isEnabled')->will($this->returnValue($cacheState));
if ($cacheState) {
$this->_typeListMock->expects($this->once())->method('invalidate')->with($this->equalTo('full_page'));
}
$this->_model->execute($this->observerMock);
}
示例13: afterSave
/**
* Set status 'invalidate' for blocks and other output caches
*
* @return $this
*/
public function afterSave()
{
$types = array_keys($this->_scopeConfig->getValue(self::XML_PATH_INVALID_CACHES, \Magento\Store\Model\ScopeInterface::SCOPE_STORE));
if ($this->isValueChanged()) {
$this->_cacheTypeList->invalidate($types);
}
return $this;
}
示例14: testExecuteNoChanged
/**
* @dataProvider invalidateCacheDataProvider
* @param bool $cacheState
*/
public function testExecuteNoChanged($cacheState)
{
$this->configMock->expects($this->once())->method('isEnabled')->will($this->returnValue($cacheState));
$this->typeListMock->expects($this->never())->method('invalidate');
if ($cacheState) {
$this->objectMock->expects($this->once())->method('getIdentities')->will($this->returnValue([]));
}
$this->model->execute($this->observerMock);
}
示例15: loadData
/**
* Load data
*
* @param bool $printQuery
* @param bool $logQuery
* @return $this
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function loadData($printQuery = false, $logQuery = false)
{
if (!$this->isLoaded()) {
foreach ($this->_cacheTypeList->getTypes() as $type) {
$this->addItem($type);
}
$this->_setIsLoaded(true);
}
return $this;
}