diff --git a/src/Sii/Dte/Documento/Renderer/AbstractRenderer.php b/src/Sii/Dte/Documento/Renderer/AbstractRenderer.php index 947455e..d95c0e5 100644 --- a/src/Sii/Dte/Documento/Renderer/AbstractRenderer.php +++ b/src/Sii/Dte/Documento/Renderer/AbstractRenderer.php @@ -34,7 +34,7 @@ * Clase abstracta (base) para los renderizadores de documentos tributarios * electrónicos (DTE). */ -abstract class AbstractRenderer +abstract class AbstractRenderer implements RendererInterface { /** * Plantilla por defecto que se debe utilizar al renderizar el DTE. diff --git a/src/Sii/Dte/Documento/Renderer/DocumentoRenderer.php b/src/Sii/Dte/Documento/Renderer/DocumentoRenderer.php index 3ae2e72..a30f605 100644 --- a/src/Sii/Dte/Documento/Renderer/DocumentoRenderer.php +++ b/src/Sii/Dte/Documento/Renderer/DocumentoRenderer.php @@ -143,9 +143,9 @@ private function normalizeOptions(array $options): array * Obtener el objeto que se encarga de la renderización del documento. * * @param string $render Clase del renderizador que se debe utilizar. - * @return AbstractRenderer + * @return RendererInterface */ - private function getRendererInstance(string $renderer): AbstractRenderer + private function getRendererInstance(string $renderer): RendererInterface { // Si no existe el renderizador se crea. if (!isset($this->renderers[$renderer])) { diff --git a/src/Sii/Dte/Documento/Renderer/RendererInterface.php b/src/Sii/Dte/Documento/Renderer/RendererInterface.php new file mode 100644 index 0000000..9714bac --- /dev/null +++ b/src/Sii/Dte/Documento/Renderer/RendererInterface.php @@ -0,0 +1,45 @@ + + * + * Este programa es software libre: usted puede redistribuirlo y/o modificarlo + * bajo los términos de la Licencia Pública General Affero de GNU publicada + * por la Fundación para el Software Libre, ya sea la versión 3 de la Licencia, + * o (a su elección) cualquier versión posterior de la misma. + * + * Este programa se distribuye con la esperanza de que sea útil, pero SIN + * GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD + * PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la Licencia Pública + * General Affero de GNU para obtener una información más detallada. + * + * Debería haber recibido una copia de la Licencia Pública General Affero de + * GNU junto a este programa. + * + * En caso contrario, consulte . + */ + +namespace libredte\lib\Core\Sii\Dte\Documento\Renderer; + +use libredte\lib\Core\Sii\Dte\Documento\AbstractDocumento; + +/** + * Interfaz para los renderizadores de documentos tributarios electrónicos. + */ +interface RendererInterface +{ + /** + * Renderiza el documento en el formato solicitado. + * + * @param AbstractDocumento $documento Documento a renderizar. + * @param array $options Opciones para el renderizado. + * @return string Datos del documento renderizado. + */ + public function render( + AbstractDocumento $documento, + array $options = [] + ): string; +}