Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Attributes
InvalidateVarnishObserver Class Reference
Inheritance diagram for InvalidateVarnishObserver:
ObserverInterface

Public Member Functions

 __construct (\Magento\PageCache\Model\Config $config, \Magento\CacheInvalidate\Model\PurgeCache $purgeCache)
 
 execute (\Magento\Framework\Event\Observer $observer)
 
- Public Member Functions inherited from ObserverInterface
 execute (Observer $observer)
 

Protected Attributes

 $config
 
 $purgeCache
 

Detailed Description

Definition at line 10 of file InvalidateVarnishObserver.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\PageCache\Model\Config  $config,
\Magento\CacheInvalidate\Model\PurgeCache  $purgeCache 
)
Parameters
\Magento\PageCache\Model\Config$config
\Magento\CacheInvalidate\Model\PurgeCache$purgeCache

Definition at line 35 of file InvalidateVarnishObserver.php.

Member Function Documentation

◆ execute()

execute ( \Magento\Framework\Event\Observer  $observer)

If Varnish caching is enabled it collects array of tags of incoming object and asks to clean cache.

Parameters
\Magento\Framework\Event\Observer$observer
Returns
void

Definition at line 50 of file InvalidateVarnishObserver.php.

51  {
52  $object = $observer->getEvent()->getObject();
53  if (!is_object($object)) {
54  return;
55  }
56  if ($this->config->getType() == \Magento\PageCache\Model\Config::VARNISH && $this->config->isEnabled()) {
57  $bareTags = $this->getTagResolver()->getTags($object);
58 
59  $tags = [];
60  $pattern = "((^|,)%s(,|$))";
61  foreach ($bareTags as $tag) {
62  $tags[] = sprintf($pattern, $tag);
63  }
64  if (!empty($tags)) {
65  $this->purgeCache->sendPurgeRequest(implode('|', array_unique($tags)));
66  }
67  }
68  }
$pattern
Definition: website.php:22

Field Documentation

◆ $config

$config
protected

Definition at line 17 of file InvalidateVarnishObserver.php.

◆ $purgeCache

$purgeCache
protected

Definition at line 22 of file InvalidateVarnishObserver.php.


The documentation for this class was generated from the following file: