Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ManagePrivateContent.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
12 
17 {
21  private $cookieMetadataFactory;
22 
26  private $cookieManager;
27 
32  public function __construct(
33  \Magento\Framework\Stdlib\Cookie\CookieMetadataFactory $cookieMetadataFactory,
34  \Magento\Framework\Stdlib\CookieManagerInterface $cookieManager
35  ) {
36  $this->cookieMetadataFactory = $cookieMetadataFactory;
37  $this->cookieManager = $cookieManager;
38  }
39 
47  public function switch(StoreInterface $fromStore, StoreInterface $targetStore, string $redirectUrl): string
48  {
49  try {
50  $publicCookieMetadata = $this->cookieMetadataFactory->createPublicCookieMetadata()
51  ->setDurationOneYear()
52  ->setPath('/')
53  ->setSecure(false)
54  ->setHttpOnly(false);
55  $this->cookieManager->setPublicCookie(
56  \Magento\Framework\App\PageCache\Version::COOKIE_NAME,
57  'should_be_updated',
58  $publicCookieMetadata
59  );
60  } catch (\Exception $e) {
61  throw new CannotSwitchStoreException($e);
62  }
63 
64  return $redirectUrl;
65  }
66 }
__construct(\Magento\Framework\Stdlib\Cookie\CookieMetadataFactory $cookieMetadataFactory, \Magento\Framework\Stdlib\CookieManagerInterface $cookieManager)