maris/document-unit-interfaces

一组接口,用于定义处理俄罗斯联邦文档对象和文档编号的规则。

0.0.4 2023-11-13 16:26 UTC

This package is auto-updated.

Last update: 2024-09-13 18:44:46 UTC


README

用于处理俄罗斯联邦文档编号的接口集。

基本概念

  • 模型:每个文档编号的对象,必须实现 UnitInterface。
  • 工厂:用于创建编号对象的工厂。必须实现 UnitFactoryInterface。
  • 解析器:用于在字符串中搜索编号的解析器。必须实现 UnitParserInterface。
  • 格式化器:将编号对象格式化为文档中的格式。必须实现 UnitFormatterInterface。
  • 实用工具:用于处理编号的实用工具。它既是工厂,也是解析器和格式化器。每个实用工具还具有与其 Unit 一起工作的额外方法。

Model::name 模型名称,例如 Model::name === InnNumber 的接口将是 InnNumberInterface

每个 Unit 都有

  • {Model::name}AggregateInterface 聚合器
  • 无法返回 NULL 的聚合器 {Unit::name}AggregateNotNullInterface
  • {Unit::name}FormatterInterface 自定义格式化器
  • {Unit::name}UtilityInterface 自定义实用工具

Unit 列表

  • InnNumberInterface: ИНН 编号接口
  • OgrnNumberInterface: ОГРН 编号接口
  • KppInterface: КПП 编号接口
  • BikInterface: БИК 编号接口
  • FiasCodeInterface: ФИАС 编码接口
  • KladrCodeInterface: КЛАДР 编码接口
  • OkatoInterface: ОКАТО 编码接口
  • OktmoInterface: ОКТМО 编码接口
  • OkvedCodeInterface: ОКВЕД 编码接口
  • SnilsNumberInterface: СНИЛС 编号接口
  • IsoCodeInterface: 国家/地区的 ISO 编码
  • PostalIndex: 邮政编码
  • CorrespondentAccountBankInterface: 银行代理账户
  • PaymentAccountBankInterface: 银行结算账户

{Unit::name}AggregateNotNullInterface 接口导入模型,以防止在模型必须具有值的情况下返回 NULL。