LibreDTE

DocumentoFactory
in package

Fábrica de documentos tributarios electrónicos.

Permite crear un documento tributario electrónico a partir de los datos de un arreglo o de un string XML.

La principal ventaja de usar esta fábrica es que abstrae todo lo que se debe hacer para buscar el "builder" del documento tributario y crear un documento fácilmente a partir de sus datos. Además se preocupa de instanciar solo una vez cada "builder".

Table of Contents

Properties

$dataProvider  : DataProviderInterface
Proveedor de datos.
$builders  : array<string|int, mixed>
Constructores ("builders") de documentos que están inicializados.

Methods

__construct()  : mixed
Constructor de la clase.
createFromArray()  : AbstractDocumento
Construye un documento tributario electrónico a partir de los datos en un arreglo.
createFromJson()  : AbstractDocumento
Construye un documento tributario electrónico a partir de los datos en un string JSON.
createFromXml()  : AbstractDocumento
Construye un documento tributario electrónico a partir de los datos en un string XML.
createFromYaml()  : AbstractDocumento
Construye un documento tributario electrónico a partir de los datos en un string YAML.
loadFromXml()  : AbstractDocumento
Carga un documento tributario electrónico a partir de los datos en un string XML.
getDocumentoBuilder()  : AbstractDocumentoBuilder
Entrega la instancia del "builder" según la clase que se ha indicado.
getDocumentoBuilderClass()  : string
Determina qué "builder" se debe utilizar según el código del documento que viene en los datos del documento que se debe crear.

Properties

$builders

Constructores ("builders") de documentos que están inicializados.

private array<string|int, mixed> $builders = []

Esta es la "caché" para evitar instanciar más de una vez un "builder".

Methods

createFromArray()

Construye un documento tributario electrónico a partir de los datos en un arreglo.

public createFromArray(array<string|int, mixed> $data) : AbstractDocumento
Parameters
$data : array<string|int, mixed>

Arreglo con los datos del documento.

Return values
AbstractDocumento

Documento tributario construído.

createFromJson()

Construye un documento tributario electrónico a partir de los datos en un string JSON.

public createFromJson(string $data) : AbstractDocumento
Parameters
$data : string

String JSON con los datos del documento.

Return values
AbstractDocumento

Documento tributario construído.

createFromXml()

Construye un documento tributario electrónico a partir de los datos en un string XML.

public createFromXml(string $data) : AbstractDocumento
Parameters
$data : string

String XML con los datos del documento.

Return values
AbstractDocumento

Documento tributario construído.

createFromYaml()

Construye un documento tributario electrónico a partir de los datos en un string YAML.

public createFromYaml(string $data) : AbstractDocumento
Parameters
$data : string

String YAML con los datos del documento.

Return values
AbstractDocumento

Documento tributario construído.

loadFromXml()

Carga un documento tributario electrónico a partir de los datos en un string XML.

public loadFromXml(string $xml) : AbstractDocumento

NOTE: Este método de creación de un documento espera que el XML contenga todos los nodos y datos necesarios del documento (ej: incluyendo firma). Se debe utilizar solamente para construir los documentos que vienen de un XML que ya está listo el DTE. Si se desea crear un documento a partir de datos que están en un string XML, pero que no están normalizados, timbrados o firmados, se debe utilizar createFromXml().

Parameters
$xml : string

String XML con los datos del documento.

Return values
AbstractDocumento

Documento tributario construído.

getDocumentoBuilder()

Entrega la instancia del "builder" según la clase que se ha indicado.

private getDocumentoBuilder(string $class) : AbstractDocumentoBuilder

Este método utiliza una "caché" para entregar siempre el mismo "builder" para el mismo tipo de documento.

Parameters
$class : string

Clase del "builder" que se desea su instancia.

Return values
AbstractDocumentoBuilder

Instancia del "builder" solicitado.

getDocumentoBuilderClass()

Determina qué "builder" se debe utilizar según el código del documento que viene en los datos del documento que se debe crear.

private getDocumentoBuilderClass(array<string|int, mixed> $data) : string
Parameters
$data : array<string|int, mixed>

Arreglo con los datos del documento.

Return values
string

Clase del "builder" a usar para crear el documento.


        
On this page

Search results