{{}}和{-- --}关于Qrcode生成的提问

1. 运行环境

1). 当前使用的 Laravel 版本?

2). 当前使用的 php/php-fpm 版本?

PHP 版本:7.4.19

php-fpm 版本:(不懂,Laragon环境自动匹配的)

3). 当前系统

Windows 10

4). 业务环境

开发环境

5). 相关软件版本

“simplesoftwareio/simple-qrcode”: “1.3.*”

2. 问题描述?

2.1、Qrcode
GitHub地址
首先这个我在packagist中README中没看到使用说明,英文不行尽力了,官网也没找到,所以用的低版本的,用法也是网友直接提供的操作指引(不过应该跟版本区别不大,我的问题主要是前端视图方面的)

这里整理下使用过程,方便后续用得到二维码的同学和小伙伴直接使用。packagist中已经有4.2的版本啦,
2.2、Qrcode使用说明
1)安装依赖包:

composer require simplesoftwareio/simple-qrcode 1.3.*

2)config/app.php注册服务提供者

SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class

3)config/app.php中添加 QrCode 门面:

'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class

4)视图使用

<div class="visible-print text-center">
    {!! QrCode::size(100)->generate('Hello,This is qrcode you can scan!'); !!}
    <p>Scan me to return to the original page.</p>
</div>

对应二维码的内容就是Hello,This is qrcode you can scan!

3. 您期望得到的结果?

那么问题来了
{!! !!}我知道是laravel中展示非转义数据的,我想生成一个域名/generate/{{$code}}
$code是我后台返回的一个随机字符串,我想到这个页面的时候获取到对应的字符串,同时生成对应二维码,我尝试了如下写法:

# 写法一
{!! QrCode::size(400)->generate('http://test.test/generate/{{$code}}' ); !!}
# 写法二
{!! QrCode::size(400)->generate('http://test.test/generate/'.{{$code}} ); !!}

正常我想要的结果就是test.test/generate/fds4fasf4af6f4 这样的

是不转义的原因导致的对么?生成的二维码扫描出来有<和php字样,扫描出来有乱码,是不是把<?echo 变量等等都显示出来了?
扫描出来的实例:
test.test/checkin/%3C?php%20echo%20...
预览了下是这个:
{{}}和{-- --}关于Qrcode生成的提问
呃呃呃
如果这样的话我应该如何写呀?{!! XXX !!}是我从搜索出来的用法里的,说是laravel前端视图要这样展示。不用{– XXX –}不行吧?

4. 您实际得到的结果?

1、请教前端视图中的正确写法,我现在觉得是我php基础语法理解不够写不出来。希望给个案例写法
2、目前域名是写死的,可以把路由写成自动获取么?可不可以提供一个域名用env(‘APP_URL’)获取或者其他的写法?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

里面不用双大括号了,而且写法二应该会报错的

{!! QrCode::size(400)->generate('http://test.test/generate/'.$code ); !!}
{!! QrCode::size(400)->generate("http://test.test/generate/$code" ); !!}
//也可以试试sprintf
{!! QrCode::size(400)->generate(sprintf('http://test.test/generate/%s',$code)); !!}
1年前 评论
kindiaing (楼主) 1年前
讨论数量: 3

里面不用双大括号了,而且写法二应该会报错的

{!! QrCode::size(400)->generate('http://test.test/generate/'.$code ); !!}
{!! QrCode::size(400)->generate("http://test.test/generate/$code" ); !!}
//也可以试试sprintf
{!! QrCode::size(400)->generate(sprintf('http://test.test/generate/%s',$code)); !!}
1年前 评论
kindiaing (楼主) 1年前

其实有文档,还有简中版本,只不过被墙了,你需要一点魔法才能看到

file

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!