{{}}和{-- --}关于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’) 获取或者其他的写法?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

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

{!! 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)); !!}
2年前 评论
kindiaing (楼主) 2年前
讨论数量: 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)); !!}
2年前 评论
kindiaing (楼主) 2年前

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

file

2年前 评论