一直用composer装各种扩展库,php现在也推荐这样。
只到这两件事把我不爽到了。
以前用endroid/qrcode 库直接composer安装了生成二维码的,由于软件都是我自己写的,tp这段时间爆出了一些安全问题,生了几次级,我一般喜欢composer update直接升级,升级后发现二维码直接生成不能用了,看了下原来方法都改了。哎。
我这人喜欢简洁,这几天发现vender目录下很多库不认识,我自己也没有主动安装它呀。用composer remove +库名 移除又提示没有安装,最后仔细排查,原来是querylist这个库惹的祸,果断composer remove jaeger/querylist 删除,它些关联库也一起删除了。截图纪念下。
一个采集的依赖这么大一堆包似乎有点说不过去了,哎。
果然aardio还是我最爱啊。
算了,闲话少叙,由于有了这次事件,我对composer别人的库也有了些看法,现在很多composer下来的包里面带例子都一大堆,不符合我自己习惯的简洁之道,能自己手动就手动吧,再就是composer以前还是仔细看看它还有没有什么依赖包。
这次生成二维码的就用phpqrcode库,直接下载就只用里面的phpqrcode.php文件。丢到extend的新建phpqrcode文件夹下,然后再控制器里引入。
把以前的直接改改就行,直接上代码吧。
<?php
namespace app\index\controller;
use \think\facade\Request;
include '../extend/phpqrcode/phpqrcode.php';
use QRcode as QRcodeMo;
/**
* 生成二维码库
*/
class Qrcode
{
public function scerweima($url=''){
$errorCorrectionLevel = 'L'; //容错级别
$matrixPointSize = 5; //生成图片大小
header("Content-type: image/png");
QRcodeMo::png($url,false , $errorCorrectionLevel, $matrixPointSize, 2);
exit();
}
public function view()
{
//生成当前的二维码
$url = Request::param('url');
$url = urldecode($url);
if($url) {
$png = $this->scerweima($url );
}
}
//淘宝传参有点问题,先单独搞
public function taobao()
{
$url = Request::param('url');
$url = urldecode($url);
if($url) {
$png = $this->scerweima("https://item.taobao.com/item.htm?".$url);
}
}
}
这样就好。
哎,以后能自己整理的还是自己整理吧。