FakeCafProvider
in package
implements
CafProviderInterface
Implementación de un proveedor de archivos CAF falsos.
Esta implementación es solo para pruebas de LibreDTE. Cada aplicación deberá implementar un servicio real de CafProviderInterface para que sea inyectado donde sea necesario (ej: en emisión masiva).
Table of Contents
Interfaces
- CafProviderInterface
- Interfaz para el servicio provee el CAF con el folio que se debe asignar al emitir un documento tributario.
Properties
- $cafFakerWorker : CafFakerWorkerInterface
- $folios : array<int, array<int, int>>
- Historial de folios asignados.
Methods
- __construct() : mixed
- Constructor con dependencias del servicio.
- retrieve() : CafBagInterface
- Provee un CAF para el emisor y tipo de documento solicitado.
Properties
$cafFakerWorker
private
CafFakerWorkerInterface
$cafFakerWorker
$folios
Historial de folios asignados.
private
array<int, array<int, int>>
$folios
= []
Permite entregar siempre folios diferentes para los emisores y tipos de documentos. Así se evitan problemas de repetir folios. Esto es lo que realmente debería implementar la aplicación que use LibreDTE: un control de la asignación de folios.
El arreglo guardará por cada emisor y tipo de documento el último folio que fue entregado.
Methods
__construct()
Constructor con dependencias del servicio.
public
__construct(CafFakerWorkerInterface $cafFakerWorker) : mixed
Parameters
- $cafFakerWorker : CafFakerWorkerInterface
retrieve()
Provee un CAF para el emisor y tipo de documento solicitado.
public
retrieve(EmisorInterface $emisor, TipoDocumentoInterface $tipoDocumento[, int|null $folio = null ]) : CafBagInterface
Parameters
- $emisor : EmisorInterface
-
Emisor para el que se busca un CAF.
- $tipoDocumento : TipoDocumentoInterface
-
Documento a buscar su CAF.
- $folio : int|null = null
-
Permite indicar si se quiere un folio específico.
Return values
CafBagInterface —Bolsa con los datos del CAF encontrado.