*/ 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"); } }