CookieMetadataFactory.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Stdlib\Cookie;
  7. use Magento\Framework\ObjectManagerInterface;
  8. /**
  9. * CookieMetadataFactory is used to construct SensitiveCookieMetadata and PublicCookieMetadata objects.
  10. * @api
  11. * @since 100.0.2
  12. */
  13. class CookieMetadataFactory
  14. {
  15. /**
  16. * @var ObjectManagerInterface
  17. */
  18. private $objectManager;
  19. /**
  20. * @param ObjectManagerInterface $objectManager
  21. */
  22. public function __construct(ObjectManagerInterface $objectManager)
  23. {
  24. $this->objectManager = $objectManager;
  25. }
  26. /**
  27. * Creates a SensitiveCookieMetadata object with the supplied metadata.
  28. *
  29. * @param array $metadata
  30. * @return SensitiveCookieMetadata
  31. */
  32. public function createSensitiveCookieMetadata($metadata = [])
  33. {
  34. return $this->objectManager->create(
  35. \Magento\Framework\Stdlib\Cookie\SensitiveCookieMetadata::class,
  36. ['metadata' => $metadata]
  37. );
  38. }
  39. /**
  40. * Creates a PublicCookieMetadata object with the supplied metadata.
  41. *
  42. * @param array $metadata
  43. * @return PublicCookieMetadata
  44. */
  45. public function createPublicCookieMetadata($metadata = [])
  46. {
  47. return $this->objectManager->create(
  48. \Magento\Framework\Stdlib\Cookie\PublicCookieMetadata::class,
  49. ['metadata' => $metadata]
  50. );
  51. }
  52. /**
  53. * Creates CookieMetadata object with the supplied metadata.
  54. *
  55. * @param array $metadata
  56. * @return CookieMetadata
  57. */
  58. public function createCookieMetadata($metadata = [])
  59. {
  60. return $this->objectManager->create(
  61. \Magento\Framework\Stdlib\Cookie\CookieMetadata::class,
  62. ['metadata' => $metadata]
  63. );
  64. }
  65. }