gersonfs/sped-da

sped-da 包含创建 Sped 项目中提到的辅助文档的类。

这个包的官方仓库似乎已不存在,因此该包已被冻结。

v1.0.0 2021-03-05 12:41 UTC

README

用于生成 Sped 标准中使用的辅助文档的类

注意:此仓库包含用于创建原始 NFePHP 项目 PDF 的“遗留”类。但是,这些类已进行调整,一些功能可能不存在或与原始版本不同。

将从类中移除所有被认为是与类本身范围无关的资源,并且不再接受与任何系统特定性相关的方法的添加。应记住,这些辅助文档(Danfe、Dacte 和 Damdfe)的唯一目的是在运输过程中跟踪标记。它们没有打算用作管理或操作信息的来源。对于这些功能,XML 更合适。这些类应尽可能地遵循 SEFAZ 的指导原则。这些类应尽可能通用和简单。如果您需要 Danfe 或任何其他文档在资源方面与现有资源不同,请创建自己的 PDF 生成器。

Build Status Coverage Status Quality Score Latest Version on Packagist License Total Downloads

Issues Forks Stars Chat

指导

以下是一般指导方针,供希望为代码构建和改进做出贡献的开发者参考。

此仓库中的类将被重构并分为 4 个其他仓库

  • sped-da-common (包含用于创建 PDF 的通用类)
  • sped-da-nfe (包含创建 NFe 相关文档 PDF 的类)
  • sped-da-cte (包含创建 CTe 相关文档 PDF 的类)
  • sped-da-mdfe (包含创建 MDFe 相关文档 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 进行,以避免类功能的损坏。
  • 将建立一个方案,仅当单元测试通过时才允许“pull request”。
  • 在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.3"
}

用法

DANFE

变更日志和版本

请查看CHANGELOG以获取有关最近更改的更多信息。

测试

所有测试都是针对PHPUNIT开发的。

安全性

如果您发现任何与安全性相关的问题,请直接向包维护者发送电子邮件,而不是创建ISSUE。

致谢

Roberto L. Machado(所有者和开发者)Newton Pasqualini Filho(简化版DANFE)

许可

此包根据LGPLv3或MIT许可证(MIT)提供。请阅读许可文件以获取更多信息。