Laravel 二维码:endroid/QrCode,如何使用?

Posted

技术标签:

【中文标题】Laravel 二维码:endroid/QrCode,如何使用?【英文标题】:Laravel QR Codes: endroid/QrCode, how to use it? 【发布时间】:2014-06-21 19:20:21 【问题描述】:

我想在我的 Laravel 4.1 应用程序中使用 QR 码生成器。我目前在https://github.com/endroid/QrCode 和https://github.com/endroid/EndroidQrCodeBundle 之间进行选择。不过老实说,似乎都没有任何关于如何使用它们的文档。

有人能描述一下在成功安装 composer 后如何生成二维码的第一步吗?

提前感谢您的每一步。我知道这是一个笼统的问题,但我对 Laravel 有点陌生。

【问题讨论】:

endroid 文档中的哪些内容给您带来了麻烦?顺便说一句,在 Laravel 4 中不再使用包。 我知道,我正在通过 composer 安装它们。回答你的问题,一切都给我带来麻烦。对于其他捆绑包,我必须经常将内容写入 app/config.php 文件(别名或 ServiceProvider),而我根本不知道如何开始。 您不需要添加别名或服务提供商。只需将示例代码用作路线的返回。 Route::get('test', function() $qrCode = new Endroid\QrCode\QrCode(); $qrCode->setText("Life is too short to be generating QR codes"); $qrCode->setSize(300); $qrCode->setPadding(10); return $qrCode->render(); 我按照代码,结果是垃圾。 【参考方案1】:

我不知道这是不是迟到的反应,但对于遇到这种挑战的人来说,这相当简单;

<?php namespace App\Http\Controllers
use Endroid\QrCode\QrCode;
class ImageController extends Controller

    public function _construct(QrCode $qrCode)
        $this->qrCode = $qrCode;
    

    public function makeQrCode($text)
       return $this->qrCode
       ->setText($text)
       ->setSize(300)
       ->setPadding(10)
       ->setErrorCorrection('high')
       ->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))
       ->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))
       ->setLabel('My label')
       ->setLabelFontSize(16)
       ->render();
    

您的路线可能如下所示:

Route::get('image/qrcode/$text',[
  'uses' => 'ImageController@makeQrCode',
  'as'   => 'qrcode'
]);

所以稍后您可以在刀片中执行此操作:

<img src="!! route('qrcode',['text'=>'Hello world']) !!" >

【讨论】:

感谢您的解决方案。如果您知道,您为什么更喜欢 php(服务器端)解决方案,而不是让 javascript 生成二维码?您现在有什么赞成或反对意见吗? 好吧,我遇到了你的问题,因为我正在寻找一个能够生成 qrcode 的包,以便我可以将它存储在我的数据库中。我更喜欢在自己的场景中使用服务器端 qrcode 生成器,因为我的应用程序是一个 API,它必须生成一系列 unqiue PIN 码 s(14 位)并为每个 PIN 码生成 qrcode。我正在使用这个。 github.com/SimpleSoftwareIO/simple-qrcode 兄弟它工作得很好。但我想为一个大字符串生成 qrcode,大约 4000 个字符。在这种情况下,这将失败。我该如何解决这个问题。

以上是关于Laravel 二维码:endroid/QrCode,如何使用?的主要内容,如果未能解决你的问题,请参考以下文章

laravel中生成支付宝 二维码 扫码支付

实用Laravel -- 自制二维码 Simple QrCode

在 Laravel 中将二维数组转换为 json 对象

Laravel:通过不同设备的交互更改视图

如何将二维数组转换为集合 laravel?

groupby 函数不适用于 laravel 5.5 中的二维数组