vendor/moka/cms/src/Renderer/RendererManager.php line 12

Open in your IDE?
  1. <?php
  2. namespace Moka\Cms\Renderer;
  3. use Moka\Cms\Exception\RendererNotFoundException;
  4. class RendererManager
  5. {
  6.     /** @var RendererInterface[] */
  7.     private array $renderers = [];
  8.     public function __construct(iterable $renderers)
  9.     {
  10.         foreach ($renderers as $renderer) {
  11.             $this->add($renderer);
  12.         }
  13.     }
  14.     public function add(RendererInterface $renderer)
  15.     {
  16.         $this->renderers[$renderer->getName()] = $renderer;
  17.     }
  18.     public function get(string $name): RendererInterface
  19.     {
  20.         if (!isset($this->renderers[$name])) {
  21.             throw new RendererNotFoundException(sprintf('Renderer "%s" is not found'$name));
  22.         }
  23.         return $this->renderers[$name];
  24.     }
  25. }