tiitoo/qr-code-bundle

Endroid QR Code Bundle

资助包维护!
endroid

安装: 1

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 37

类型:symfony-bundle

4.3.1 2023-02-23 08:58 UTC

README

endroid 编写

Latest Stable Version Build Status Total Downloads Monthly Downloads License

此 Symfony 扩展允许您使用 endroid/qr-code 库生成 QR 码。它提供了以下功能:

  • 配置默认设置(如图像大小、默认写入器等)
  • 支持多个配置和通过别名注入
  • 通过 URL(如 /qr-code//Hello)生成定义配置的 QR 码
  • 使用专用函数直接从 Twig 生成 QR 码或 URL

安装

使用 Composer 安装库。同时,如果您想生成图像,请确保已启用并配置了 GD 扩展

composer require endroid/qr-code-bundle

当您使用 Symfony 时,installer 会确保服务自动连接。如果不是这种情况,您可以在 .install/symfony 文件夹中找到配置文件。

如果您不想让安装程序创建自动配置文件,可以像这里描述的那样禁用它。

配置

该包使用构建器来创建 QR 码。构建器应用的默认参数可以通过配置可选地覆盖,并且可以定义多个配置(因此构建器)。

endroid_qr_code:
    default:
        writer: Endroid\QrCode\Writer\PngWriter
        data: 'This is customized QR code'
        # Label is not implemented for SvgWriter
        labelText: 'This is the label'
        labelFontPath: '%kernel.project_dir%/vendor/endroid/qr-code/assets/noto_sans.otf'
        labelFontSize: 20
        labelAlignment: 'center'
    custom:
        writer: Endroid\QrCode\Writer\SvgWriter
        writerOptions:
            exclude_xml_declaration: true # default: false
        data: 'This is customized QR code'
        size: 300
        encoding: 'UTF-8'
        errorCorrectionLevel: 'low' # 'low', 'medium', 'quartile', or 'high'
        roundBlockSizeMode: 'margin'
        logoPath: '%kernel.project_dir%/vendor/endroid/qr-code/tests/assets/symfony.png'
        logoResizeToWidth: 150
        logoPunchoutBackground: true
        validateResult: false

使用构建器

每个配置都产生一个构建器,可以注入到您的类中。例如,可以像这样注入上面的示例中的自定义构建器,并且可以按照以下方式覆盖默认配置。

use Endroid\QrCode\Builder\BuilderInterface;

public function __construct(BuilderInterface $customQrCodeBuilder)
{
    $result = $customQrCodeBuilder
        ->size(400)
        ->margin(20)
        ->build();
}

QR 码响应

该包还提供了一个响应对象,以简化通过自动保存到内容并设置正确的内容类型来渲染结果图像。

use Endroid\QrCodeBundle\Response\QrCodeResponse;

$response = new QrCodeResponse($result);

通过 URL 生成

该包提供了一个控制器,允许您通过打开 URL(如 /qr-code/{builder}/{data})简单地生成 QR 码。您可以在路由文件中配置前缀,并通过查询字符串传递任何现有选项。

通过 Twig 生成

该包提供了一个用于生成 QR 码 URL、路径或数据 URI 的 Twig 扩展。您可以使用第二个参数指定要使用的构建器。

<img src="{{ qr_code_path('My QR Code') }}" />
<img src="{{ qr_code_url('My QR Code') }}" />
<img src="{{ qr_code_data_uri('My QR Code') }}" />

{# You can specify the builder via the second parameter #}
<img src="{{ qr_code_data_uri('My QR Code', 'custom') }}" />

版本控制

版本号遵循 MAJOR.MINOR.PATCH 方案。向后兼容性破坏性更改将保持在最低限度,但请注意,这些更改可能发生。在生产中锁定依赖关系,并在升级时测试您的代码。

许可

此源代码受文件 LICENSE 中捆绑的 MIT 许可证的约束。