zzantares/cfdi-wrapper

一个用于与CFDI交互的简单包装器,无需处理XSD。

dev-master 2017-11-05 07:36 UTC

This package is not auto-updated.

Last update: 2024-09-11 09:10:23 UTC


README

Build Status Code Coverage

本项目是一个简洁的CFDI XSD文件包装器,此库允许您以非常简单直观的方式操作CFDI属性,而无需处理XML、XSD或XPATH!

安装

将依赖项添加到您的composer.json

{
    "require": {
        "zzantares/cfdi-wrapper": "dev-master",
    }
}

现在只需运行composer installcomposer update,具体取决于您项目的阶段

用法

为了使用CFDI包装器的优势,通过传递要检查的CFDI的XML内容来创建一个Cfdi类的实例

<?php

require 'vendor/autoload.php';

use ZzAntares\CfdiWrapper\Cfdi;

$xmlContent = file_get_contents('/path/to/cfdi.xml');
$cfdi = new Cfdi($xmlContent);

echo $cfdi->emisor->rfc;  // 'some123456rfc'

也可以从路径文件创建一个实例,如下所示

<?php

require 'vendor/autoload.php';

use ZzAntares\CfdiWrapper\Cfdi;

$cfdi = new Cfdi('/path/to/cfdi.xml');

可用属性

'version',
'serie',
'folio',
'fecha',
'subTotal',
'subtotal',  // Alias of subTotal
'total',
'certificado' ,
'noCertificado',
'condicionesDePago',
'descuento',
'motivoDescuento',
'TipoCambio',
'tipoCambio',  // Alias of TipoCambio
'Moneda',
'moneda',  // Alias of Moneda
'metodoDePago',
'sello' ,
'tipoDeComprobante',
'formaDePago',
'LugarExpedicion',
'lugarExpedicion',  // Alias of LugarExpedcion
'NumCtaPago',
'numCtaPago',  // Alias of numCtaPago

您还可以访问嵌套对象

'emisor',
'receptor',
'conceptos',
'impuestos',
'impuestosLocales',
'timbreFiscalDigital',
'timbre',  // Alias of timbreFiscalDigital

这些嵌套对象都有自己的属性,您可以通过阅读CFDI XSD文件非常直观地获取它们,以下是一些常见的示例

<?php

$cfdi->folio;
$cfdi->fecha;
$cfdi->emisor->rfc;
$cfdi->emisor->nombre;
$cfdi->emisor->domicilio->calle;
$cfdi->receptor->rfc;
$cfdi->receptor->nombre;
$cfdi->receptor->domicilio->calle;
$cfdi->timbre->uuid;
$cfdi->conceptos;  // Is an array
$cfdi->conceptos[0]->descripcion;