*/ private iterable $renderers, ) {} /** * @throws RuntimeError * @throws SyntaxError * @throws LoaderError */ public function renderGenericDoc(Environment $twig, GenericDocDTO $genericDocDTO, array $options = []): string { foreach ($this->renderers as $renderer) { if ($renderer->supports($genericDocDTO)) { return $twig->render( $renderer->getTemplate($genericDocDTO, $options), $renderer->getTemplateData($genericDocDTO, $options), ); } } throw new \LogicException('no renderer found'); } }