使用 Endroid\QrCode 包生成二维码时,遇到错误:Call to undefined method Endroid\QrCode\QrCode::writeString(),这是因为使用了旧版本的方法,新版本的 Endroid\QrCode 已经没有这个方法了。
使用旧版方法导致错误的代码示例:
use Endroid\QrCode\QrCode;
// 把要转换的字符串作为 QrCode 的构造函数参数
$qrCode = new QrCode($wechatOrder->code_url);
// 将生成的二维码图片数据以字符串形式输出,并带上相应的响应类型
return response($qrCode->writeString(), 200, ['Content-Type' => $qrCode->getContentType()]);
对应功能采用新版方法实现的代码示例:
$qrCode = QrCode::create($wechatOrder->code_url);
$writer = new PngWriter();
$result = $writer->write($qrCode);
return response($result->getString(), 200, ['Content-Type' => $result->getMimeType()]);
(adsbygoogle = window.adsbygoogle || []).push({});
来源:https://www.02405.com/archives/6696