conectra / sped-da
sped-da 包含创建 Sped 项目中提到的辅助文档的类。
Requires
- php: >= 7.0
- tecnickcom/tc-lib-barcode: ^1.15
Requires (Dev)
- phpstan/phpstan: ^0.9.2
- phpunit/phpunit: ^5.7
- scrutinizer/ocular: ^1.3
- sebastian/phpcpd: ^3.0
- squizlabs/php_codesniffer: ^3.4
Suggests
- nfephp-org/posprint: ^0.1
- 1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.22
- v1.1.21
- v1.1.20
- v1.1.19
- v1.1.18
- v1.1.17
- v1.1.16
- v1.1.15
- v1.1.14
- v1.1.13
- v1.1.12
- v1.1.11
- v1.1.10
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.0
- dev-master / 0.1.x-dev
- dev-fix/ERP-263-danfe-info-comp
- dev-fix/CS-1281-documentos-dacte
- dev-fix-impressao-cancelamento
- dev-feature/CN-56-isento-branco-danfe
- dev-cte-imprime-doc-anterior
- dev-fix-danfe
- dev-fix-gera-dacte-modal-aqua
- dev-modificacaoCamposPeso
- dev-stable
This package is auto-updated.
Last update: 2024-09-11 13:56:14 UTC
README
用于生成 Sped 标准使用的辅助文档的类
注意:此存储库包含“遗留”类,用于创建 NFePHP 项目原始 PDF 的 PDF。但这些问题已被调整,一些功能可能不存在或至少与原始版本不同。
将从类中移除所有被认为不属于其范围的功能,并且将不再接受与任何特定系统相关的方法的添加。这些类应尽可能通用。
开发中(尚未完全准备好)
指导
以下是对希望为代码构建和改进做出贡献的开发者的通用指导。
由 Nicola Azuni 开发的新项目正在开发中,该项目源于 TCPDF。这个新项目是 TCPDF 的发展,并按照最新的 PHP 实践构建。
因此,这些来自 sped-da 的类,作为 NFePHP 项目的遗留,将在 tc-lib-pdf([链接](https://github.com/tecnickcom/tc-lib-pdf))新项目达到可用版本后进行重构。
类结构
对于生成辅助文档,应考虑以下因素
- 此库应使用 PHP7 编写,不会在低于 php 5.6 的环境中测试或接受使用(至少在其开发期间),并且从第一个稳定版本开始,仅接受 PHP >= 7.0。
- 此包 "sped-da" 将成为其他包的依赖项(建议),开发人员负责使用 composer 将其作为其应用程序的依赖项或非依赖项。
- 主要类的渲染(Danfe、Dacte、Damdfe、Dacce 和 NFCe,但有保留)必须以 PDF 或 HTML 格式进行。
- 这些主要类必须扩展基本构建器类 Da.php。
- 辅助文档可以从 XML 或每个包中建立的构建器类中渲染。也就是说,可以传递包含文档数据的类,也可以传递 XML 格式的文档。
- 应允许并简化创建包含多个文档的 PDF。
- 所有类都必须遵循 S.O.L.I.D. 原则并符合 PSR-2 和 PSR-4。
- 所有方法都必须使用 phpunit 进行单元测试,以避免破坏类的功能。
- 将建立一个方案,只有在单元测试未失败的情况下才允许“拉取请求”。
- 对于 NFC-e(消费者发票)而言,存在另一个可能被使用的包,即 "posprint",因为辅助文档通常在 POS 热敏打印机上打印,这些打印机不适用于 PDF,并且必须以自己的语言(原始数据)接收数据。因此,该包 "posprint" 可能有资格成为此包的依赖项之一。
- 为了将数据转换为PDF,需要使用一个活跃维护、被大量程序员使用并至少满足PSR规范的库。这一点需要特别注意,因为随着PHP7的引入,可能会出现与未及时更新的库不兼容的问题。
贡献
这是一个完全开源的项目,使用和修改它不需要支付任何费用。但是,为了继续维护它,我们需要收到一些贡献,无论是帮助编码、编写文档还是进行测试和错误及BUG的识别。
此软件包在Packgist上列出,是为Composer使用的,因此不会提供任何安装替代方案。
在开发测试阶段,此软件包应使用以下方式安装:
composer require nfephp-org/sped-da:dev-master
或者,还可以通过修改您的应用程序的composer.json来安装
"require": { "nfephp-org/sped-da" : "dev-master" }
注意:在开发阶段使用此软件包时,别忘了将您的应用程序的composer.json中的"minimum-stability"属性从"stable"更改为"dev",以接受开发包。
"minimum-stability": "dev"
稳定版本已可用(但某些类仍在开发中),可以使用以下方式安装:
composer require nfephp-org/sped-da
或者,还可以通过修改您的应用程序的composer.json来安装
"require": { "nfephp-org/sped-da" : "^0.1" }
使用方法
更改日志和版本
有关最新更改的更多信息,请参阅CHANGELOG。
测试
所有测试都是为了与PHPUNIT一起运行而开发的。
安全性
如果您发现与安全相关的任何问题,请直接向软件包维护者发送电子邮件,而不是打开一个ISSUE。
致谢
Roberto L. Machado(所有者和开发者)
许可证
此软件包可在LGPLv3或MIT许可证(MIT)下使用。有关更多信息,请参阅许可文件。