src/Module/ShortSimpleCheckout/Manager/FlashBagManager.php line 50

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Module\ShortSimpleCheckout\Manager;
  4. use Symfony\Component\HttpFoundation\Session\Session;
  5. use Symfony\Contracts\Translation\TranslatorInterface;
  6. /**
  7. * Manage flashbags
  8. *
  9. * @author Michel Chowanski <michel.chowanski@bestit-online.de>
  10. * @package App\Module\ShortSimpleCheckout\Manager
  11. */
  12. class FlashBagManager implements FlashBagManagerInterface
  13. {
  14. private Session $session;
  15. private TranslatorInterface $translator;
  16. /**
  17. * @param Session $session
  18. * @param TranslatorInterface $translator
  19. */
  20. public function __construct(Session $session, TranslatorInterface $translator)
  21. {
  22. $this->session = $session;
  23. $this->translator = $translator;
  24. }
  25. /**
  26. * {@inheritdoc}
  27. *
  28. * @return void
  29. */
  30. public function alert(string $message, array $parameters = [], string $domain = self::DEFAULT_DOMAIN): void
  31. {
  32. $value = $this->translate($message, $parameters, $domain);
  33. $this->session->getFlashBag()->add('alert', $value);
  34. }
  35. /**
  36. * {@inheritdoc}
  37. *
  38. * @return void
  39. */
  40. public function error(string $message, array $parameters = [], string $domain = self::DEFAULT_DOMAIN): void
  41. {
  42. $value = $this->translate($message, $parameters, $domain);
  43. $this->session->getFlashBag()->add('error', $value);
  44. }
  45. /**
  46. * {@inheritdoc}
  47. *
  48. * @return void
  49. */
  50. public function info(string $message, array $parameters = [], string $domain = self::DEFAULT_DOMAIN): void
  51. {
  52. $value = $this->translate($message, $parameters, $domain);
  53. $this->session->getFlashBag()->add('info', $value);
  54. }
  55. /**
  56. * {@inheritdoc}
  57. *
  58. * @return void
  59. */
  60. public function success(string $message, array $parameters = [], string $domain = self::DEFAULT_DOMAIN): void
  61. {
  62. $value = $this->translate($message, $parameters, $domain);
  63. $this->session->getFlashBag()->add('success', $value);
  64. }
  65. /**
  66. * {@inheritdoc}
  67. *
  68. * @return string
  69. */
  70. public function translate(string $message, array $parameters = [], string $domain = self::DEFAULT_DOMAIN): string
  71. {
  72. return $this->translator->trans($message, $parameters, $domain);
  73. }
  74. }