Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Data Fields | Protected Attributes
PurgeCache Class Reference

Public Member Functions

 __construct (\Magento\PageCache\Model\Cache\Server $cacheServer, \Magento\CacheInvalidate\Model\SocketFactory $socketAdapterFactory, InvalidateLogger $logger)
 
 sendPurgeRequest ($tagsPattern)
 

Data Fields

const HEADER_X_MAGENTO_TAGS_PATTERN = 'X-Magento-Tags-Pattern'
 

Protected Attributes

 $cacheServer
 
 $socketAdapterFactory
 

Detailed Description

Definition at line 10 of file PurgeCache.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\PageCache\Model\Cache\Server  $cacheServer,
\Magento\CacheInvalidate\Model\SocketFactory  $socketAdapterFactory,
InvalidateLogger  $logger 
)

Constructor

Parameters
\Magento\PageCache\Model\Cache\Server$cacheServer
\Magento\CacheInvalidate\Model\SocketFactory$socketAdapterFactory
InvalidateLogger$logger

Definition at line 36 of file PurgeCache.php.

40  {
41  $this->cacheServer = $cacheServer;
42  $this->socketAdapterFactory = $socketAdapterFactory;
43  $this->logger = $logger;
44  }

Member Function Documentation

◆ sendPurgeRequest()

sendPurgeRequest (   $tagsPattern)

Send curl purge request to invalidate cache by tags pattern

Parameters
string$tagsPattern
Returns
bool Return true if successful; otherwise return false

Definition at line 53 of file PurgeCache.php.

54  {
55  $socketAdapter = $this->socketAdapterFactory->create();
56  $servers = $this->cacheServer->getUris();
57  $headers = [self::HEADER_X_MAGENTO_TAGS_PATTERN => $tagsPattern];
58  $socketAdapter->setOptions(['timeout' => 10]);
59  foreach ($servers as $server) {
60  $headers['Host'] = $server->getHost();
61  try {
62  $socketAdapter->connect($server->getHost(), $server->getPort());
63  $socketAdapter->write(
64  'PURGE',
65  $server,
66  '1.1',
67  $headers
68  );
69  $socketAdapter->read();
70  $socketAdapter->close();
71  } catch (\Exception $e) {
72  $this->logger->critical($e->getMessage(), compact('server', 'tagsPattern'));
73  return false;
74  }
75  }
76 
77  $this->logger->execute(compact('servers', 'tagsPattern'));
78  return true;
79  }

Field Documentation

◆ $cacheServer

$cacheServer
protected

Definition at line 17 of file PurgeCache.php.

◆ $socketAdapterFactory

$socketAdapterFactory
protected

Definition at line 22 of file PurgeCache.php.

◆ HEADER_X_MAGENTO_TAGS_PATTERN

const HEADER_X_MAGENTO_TAGS_PATTERN = 'X-Magento-Tags-Pattern'

Definition at line 12 of file PurgeCache.php.


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