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,如何使用?的主要内容,如果未能解决你的问题,请参考以下文章