手动安装第三方类库【案例:生成二维码(phpqrcode)】 [ 2.0 版本 ]
本人也是初学yii,以前使用thinkphp的时候,放入vendor目录下,在控制器中直接一个vendor就可以调用第三方扩展类库了。之前我也是用thinkphp的思维来看待yii的安装第三方类库的方式。看手册也有点迷糊,所有这里就贴出一份教程!各位大牛勿喷!
1、下载扩展类库;
2、在yin的vendor目录中新建一个目录;(例如:我这里使用的是phpqrcode,就再vendor目录下新建一个phpqrcode目录)
3、将下载的类库文件解压至【2】新建的目录中;
4、在类库的入口核心文件头定义命名空间(例如:phpqrcode的入口文件是phpqrcode.php,那么就再这个文件头部定义命名空间,namespace phpqrcode;);
5、修改应用的配置文件,在config目录中的web.php文件中的$config中的components键中添加如下键值对:
'aliases' => [
'class'=>'phpqrcode', //如果不定义该类,将会报错。值就是在phpqrcode.php中定义的命名空间
'@phpqrcode' => '@vendor/phpqrcode', //@phpqrcode 就是在phpqrcode.php中定义的命名空间,@vendor/phpqrcode 为该类的路径
],
6、在控制器中引入这个类 use phpqrcode\QRcode;
因为生成二维码需要用到QRcode这个类,所有我们就直接引入这个类;
7、实例化类 $code=new QRcode();
8、使用该类 $code::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);
第一次写教程,有不好的地方,或则用词不当的地方请各位大牛提出!!
snms
注册时间:2015-09-16
最后登录:2015-10-17
在线时长:3小时24分
最后登录:2015-10-17
在线时长:3小时24分
- 粉丝1
- 金钱215
- 威望10
- 积分345
共 7 条评论
您好~按照你说的去做 还是不行 我安装的是日期库提示这个错: Class 'dosamigos\datepicker\DatePicker' not found
用composer安装
@了然听雨 系统环境不支持composer
看这里 http://www.yiichina.com/doc/guide/2.0/structure-extensions
@了然听雨 好~谢谢~
@jaybril 你自定义的命名空间和路径你都检查一下
@jaybril 我是下载的类库,没有使用composer安装
第5点是直接定义在config中还是config的components中呀,另外
'class'=>'phpqrcode'
没看懂。如果你在配置文件中,没有给他class参数,那么就会报错,报错的信息大概为,该配置需要一个类;既然它需要一个类,我们就给他一个类,而这个类的目标就是在【引入的类库入口文件中的命名空间】,告诉程序,我要引入的类就是这个命名空间中的类;而'@phpqrcode'只是告诉程序,我的类库文件在这个目录下;
@snms
'aliases' => [...]
这一行是直接加在主配置里还是components呢,如果加在主配置里,aliases会调用yii\base\Module里的方法写入别名,加在components是怎么起作用的呢,@xuyuan 你没仔细看,是添加到config目录下的web.php配置,你可以自己看看这个配置文件里面有些什么
@snms 我的意思是web.php里的数组也是多维的,这是要直接加在第一维里,还是二维的components
@xuyuan 你看一下,web.php中$config变量中是不是有一个components键,在这个键中添加这个aliases配置,'db' => require(DIR . '/db.php'),在这句的下面直接添加就好.
@xuyuan 不知在下可否明白了
@snms 差不多明白了,不过有些问题一下子在这又说不清楚。多写些YII2的使用教程让我们学习,,
楼主 我按照你的提示也这么配置了 但就是提示说找不到 Qrcode 这个类 你是怎么解决的 看到联系一下我qq好吗 1174789449 万分感谢
抱歉啊 qq是 1174789339
朋友你搞定了吗?方便请教下吗,QQ 2121140574.
万分感谢,楼主
楼主,我好像配置不成功。不知道哪里出了问题,方便请教下吗。
还是用 compoer 吧安装吧,这方法不介意了,多少年的老帖了
你是在坑爹么····
composer 安装的二维码图片不显示