zzantares / cfdi-wrapper
一个用于与CFDI交互的简单包装器,无需处理XSD。
dev-master
2017-11-05 07:36 UTC
Requires
- php: >=5.4.0
- ext-gd: *
- bacon/bacon-qr-code: ~1.0
- zzantares/helpers: ~1.0
Requires (Dev)
- phpunit/phpunit: ~5.0
- squizlabs/php_codesniffer: ~2.0
This package is not auto-updated.
Last update: 2024-09-11 09:10:23 UTC
README
本项目是一个简洁的CFDI XSD文件包装器,此库允许您以非常简单直观的方式操作CFDI属性,而无需处理XML、XSD或XPATH!
安装
将依赖项添加到您的composer.json
{
"require": {
"zzantares/cfdi-wrapper": "dev-master",
}
}
现在只需运行composer install
或composer 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;