nowo-tech/serial-number-bundle
Composer 安装命令:
composer require nowo-tech/serial-number-bundle
包简介
Generate and mask serial numbers for invoices, receipts, etc. Pattern-based with context and Twig filter.
README 文档
README
⭐ Found this useful? Install from Packagist and give it a star on GitHub.
Symfony bundle to generate and mask serial numbers for invoices, receipts, tickets, etc. Uses a pattern with placeholders ({year}, {prefix}, {id}), a context map, and an optional numeric id padding. Includes a Twig filter to mask the serial for display (e.g. show only last 4 digits).
Features
- SerialNumberGenerator service: build serials from
context(variables),pattern(string with{var}and{id}), and numericid(optional zero-padding). - Twig function
serial_number(context, pattern, id, padding?): generate serial in templates. - Twig filter
serial_number_mask(serial, visibleLast?, maskChar?): mask a serial leaving only the last N characters visible (e.g.***************0042).
Documentation
- Installation
- Configuration
- Usage
- Contributing
- Changelog
- Upgrading
- Release
- Security
- Engram
- Spec-driven development
- GitHub Spec Kit
Additional documentation
- Demo (Symfony 7 & 8) — run
make -C demo up-symfony8from the bundle root. - Demo with FrankenPHP (development and production)
Quick example
// In a controller or service $serial = $this->serialNumberGenerator->generate( ['prefix' => 'FAC', 'year' => 2025, 'office' => '01'], '{prefix}-{year}-{office}-{id}', 42, 5 // id padding → 00042 ); // → "FAC-2025-01-00042"
{# Generate and mask in Twig #} {{ serial_number( { prefix: 'FAC', year: 2025, office: '01' }, '{prefix}-{year}-{office}-{id}', invoice.id, 5 )|serial_number_mask(4) }} {# → "*************0042" #}
Requirements
- PHP >= 8.1, < 8.6
- Symfony 6.0, 7.0, or 8.0 (see
composer.json; CI exercises 6.4, 7.0, 7.4, 8.0, and 8.1) - Twig 3.8+ or 4.x
Tests and coverage
- Tests: PHPUnit (PHP)
- PHP: 100%
Version policy
The Composer package name is nowo-tech/serial-number-bundle. Source code and issues are in the GitHub repository nowo-tech/SerialNumberBundle.
We follow Semantic Versioning. See Changelog for release notes. Security support by major version is described in the Security policy.
License
MIT. See LICENSE.
nowo-tech/serial-number-bundle 适用场景与选型建议
nowo-tech/serial-number-bundle 是一款 基于 Shell 开发的 Composer 扩展包,目前已累计 10 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 12 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「symfony」 「twig」 「pattern」 「bundle」 「invoice」 「mask」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 nowo-tech/serial-number-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 nowo-tech/serial-number-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 nowo-tech/serial-number-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Shoot aims to make providing data to your templates more manageable
This Symfony bundle integrates PhpSpreadsheet into Symfony using Twig.
A Twig extension to insert css as inline styles with a tag
Caching and compression for Twig assets (JavaScript and CSS).
The bundle for easy using json-rpc api on your project
A Laravel package for the Repository Design Pattern.
统计信息
- 总下载量: 10
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 26
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-12