phpcfdi / sat-catalogos
SAT 目录用于 CFDI 3.3、CFDI 4.0 和 Nómina 1.2
Requires
- php: >=7.3
- ext-mbstring: *
- ext-pdo: *
- ext-sqlite3: *
Requires (Dev)
- phpunit/phpunit: ^9.5.20
This package is auto-updated.
Last update: 2024-09-04 19:07:53 UTC
README
SAT 目录用于 CFDI 3.3、CFDI 4.0 和 Nómina 1.2。
此库允许使用 SAT 目录
- CFDI 3.3。
- CFDI 4.0。
- Nómina 1.2。
有关目录的更多信息,请参阅 目录信息。
安装
使用 composer composer
composer require phpcfdi/sat-catalogos
您还需要相关数据库,可以从 phpcfdi/resources-sat-catalogs 项目获取。或者从 Linux 或 MAC 或 MS Windows 的 WSL 执行。
bash bin/create-catalogs-database catalogs.db
基本使用
<?php declare(strict_types=1); use PhpCfdi\SatCatalogos\Factory; $dsn = sprintf('sqlite://%s/catalogos.db', __DIR__); $factory = new Factory(); $satCatalogos = $factory->catalogosFromDsn($dsn); $aduanas = $satCatalogos->aduanas(); $aduana = $aduanas->obtain('24'); echo $aduana->texto(); // NUEVO LAREDO, NUEVO LAREDO, TAMAULIPAS.
有关目录和条目的信息
如果您知道 SAT 目录(CFDI、补充或补充概念)的任何更改,但更改尚未发布,请打开一个新的 Issue 描述找到的内容。
实际上,目录是允许获取条目的对象。有些目录的条目很少,但有些目录有数千个条目。
您不应该修改数据库,这相当于修改源代码。
此库不包含用于操作数据库的方法。数据库只是一个读取数据的仓库。它可以是 JSON 格式的数据,但在开发库时,我们没有找到一种快速且资源消耗较少的方法来读取不同的格式。
库版本控制
此库将根据 语义版本控制 概念进行版本升级,其中
- 如果 API 发生变化,需要您更改源代码,则修改主版本号。
- 如果 SAT 发布的数据结构发生重大变化,也会进行重大更改。
- 如果 API 发生变化,但与旧版本兼容,如添加新目录或向现有目录添加新字段,则修改次版本号。
- 进行修正时也会修改次版本号。
目录自动更新
从 SAT 更新目录超出此库的范围。
phpcfdi/resources-sat-catalogs 存储了此库工作所需的信息。
phpcfdi/sat-catalogos-populate 是我们用来维护资源的工具。
有关更多信息,请访问 PhpCfdi / 资源仓库。
可以使用 bin/create-catalogs-database
脚本来自动化此任务。
支持
您可以在 Github 上打开工单以获得支持。
此外,此库属于 PhpCfdi 社区,因此您可以使用相同的沟通渠道从社区成员那里获得帮助。
兼容性
这个库将保持与至少具有最新活跃支持的PHP版本的兼容性。
我们还使用了语义版本2.0.0,因此您可以使用这个库而不用担心破坏您的应用程序。
贡献
欢迎贡献。请阅读CONTRIBUTING以获取更多详细信息,并请记住检查待办事项文件TODO和变更日志文件CHANGELOG。
版权和许可
phpcfdi/catalogos
库版权所有 © PhpCfdi,并按照MIT许可(MIT)许可使用。请参阅LICENSE以获取更多信息。