RenderersPool.php 934 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\View\Element\Message\Renderer;
  7. class RenderersPool implements PoolInterface
  8. {
  9. /**
  10. * @var RendererInterface[]
  11. */
  12. private $renderers;
  13. /**
  14. * @param array $renderers
  15. */
  16. public function __construct(
  17. array $renderers = []
  18. ) {
  19. array_walk(
  20. $renderers,
  21. function (RendererInterface $renderer) {
  22. return $renderer;
  23. }
  24. );
  25. $this->renderers = $renderers;
  26. }
  27. /**
  28. * Returns Renderer for specified identifier
  29. *
  30. * @param string $rendererCode
  31. * @return RendererInterface | null
  32. */
  33. public function get($rendererCode)
  34. {
  35. return !isset($this->renderers[$rendererCode])
  36. ? null
  37. :$this->renderers[$rendererCode];
  38. }
  39. }