CookieTester.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\TestModule1\Controller;
  7. use Magento\Framework\App\RequestInterface;
  8. use Magento\Framework\Stdlib\Cookie\CookieMetadataFactory;
  9. use Magento\Framework\Stdlib\Cookie\PhpCookieManager;
  10. /**
  11. * Controller for testing the CookieManager.
  12. *
  13. */
  14. abstract class CookieTester implements \Magento\Framework\App\ActionInterface
  15. {
  16. /** @var PhpCookieManager */
  17. protected $cookieManager;
  18. /** @var CookieMetadataFactory */
  19. protected $cookieMetadataFactory;
  20. /**
  21. * @var \Magento\Framework\App\ResponseInterface
  22. */
  23. protected $_response;
  24. /**
  25. * @var
  26. */
  27. protected $request;
  28. /**
  29. * @param \Magento\Framework\App\Action\Context $context
  30. * @param PhpCookieManager $cookieManager
  31. * @param CookieMetadataFactory $cookieMetadataFactory
  32. */
  33. public function __construct(
  34. \Magento\Framework\App\Action\Context $context,
  35. PhpCookieManager $cookieManager,
  36. CookieMetadataFactory $cookieMetadataFactory
  37. ) {
  38. $this->cookieManager = $cookieManager;
  39. $this->cookieMetadataFactory = $cookieMetadataFactory;
  40. $this->_response = $context->getResponse();
  41. $this->request = $context->getRequest();
  42. }
  43. /**
  44. * Retrieve cookie metadata factory
  45. */
  46. protected function getCookieMetadataFactory()
  47. {
  48. return $this->cookieMetadataFactory;
  49. }
  50. /**
  51. * Retrieve cookie metadata factory
  52. */
  53. protected function getCookieManager()
  54. {
  55. return $this->cookieManager;
  56. }
  57. /**
  58. * Dispatch request
  59. *
  60. * @param RequestInterface $request
  61. * @return \Magento\Framework\App\ResponseInterface
  62. */
  63. public function dispatch(RequestInterface $request)
  64. {
  65. $this->request = $request;
  66. $result = $this->execute();
  67. return $result ? $result : $this->_response;
  68. }
  69. }