nowo-tech/serial-number-bundle
最新稳定版本:v1.0.7
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
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 | 8.0
- 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.
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-12