ozznest / barcode-bundle
包装 Zend 二维码组件的二维码生成包。
3.1
2020-02-27 14:06 UTC
Requires
- php: >=7.1
- imagine/imagine: ~0.6.0
- laminas/laminas-barcode: ~2.0|~3.0
- symfony/config: ^3.4|^4
- symfony/framework-bundle: ^3.4|^4
Requires (Dev)
- phpstan/phpstan-shim: ^0.11
- phpunit/phpunit: ^7
- twig/twig: ~1.34|~2.4
README
关于
此 Symfony 扩展提供了使用 Laminas 二维码组件 生成二维码并使用数据 URI 内联打印的功能。它避免了 Laminas 组件中保留状态的部分,从而允许在相同的执行周期中独立生成二维码。
安装
将 MarkupBarcodeBundle 添加到 composer.json 文件中
{ "require": { "markup/barcode-bundle": "@dev" } }
将 MarkupBarcodeBundle 添加到 AppKernel.php 文件中
public function registerBundles() { $bundles = [ ... new Markup\BarcodeBundle\MarkupBarcodeBundle(), ]; ... }
最后,使用 Composer 安装该包
$ php composer.phar update markup/barcode-bundle
用法
该包通过允许声明命名二维码定义(指定二维码使用的规范、输出格式等)来工作。然后,在渲染单个二维码时引用这些定义。
例如,如果您需要为应用程序中的“发票”生成二维码,该发票使用 Code 128 码,并希望将 PNG 作为二维码的图像格式(PNG 是默认格式)。
您可以通过在包的语义配置中声明定义来实现这一点
markup_barcode: definitions: invoice: type: code128 format: png
或者,如果您需要更多灵活性,您可以编写自己的定义类,该类实现了 Markup\BarcodeBundle\Definition\DefinitionInterface
,并在您的包中声明为服务,使用 markup_barcode.definition
标签并声明一个别名
my.barcode_definition: class: Me\MyBundle\Barcode\MyInvoiceBarcodeDefinition tags: - { name: markup_barcode.definition, alias: invoice }
然后,在 Twig 模板中,您可以使用以下 Twig 过滤器(markup_barcode_data_uri
)来生成您要编码的文本的二维码
<img src="{{ barcode_text_you_are_encoding|markup_barcode_data_uri('invoice') }}">
许可证
在 MIT 许可证下发布。请参阅 LICENSE。