thinkphp5关于动态生成二维码类库总结;php
遇到的最大问题以下;我想大部分人也碰到过,全部以为有必要总结下;git
thinkphp5提示找不到Qrcode类,但是本身明明都放置到了,vendor 目录下面,怎么仍是找不到了?是否是路径错了?github
上面试根据thinkphp手册上说的加了使用命名空间,仍是报错,因而我右试了下如下方式仍是报错?我当时百度了看看大多数都是tp3.2的写法,千篇一概,因此以为有必要搞定这样的问题。面试
此次我连vendor都加上了仍是报错,用官方提供的助手函数 vendor()也报错,QRcode的类代码以下;thinkphp
这些都是存在的,后来我试试了用php 系统函数来获取路径看看是否是路径问题;可是仍是报错;以下;composer
正常状况下;include_once函数若是路径错了会提示的,以下;框架
这个提示是路径错误问题;个人项目是在public下面,因此就防止了vendor目录下;PHP函数路径助手函数,各类引入都报类不存在,函数
解决方案以下;thinkphp5
1,Vendor 是用来加载第三方类库的是不假,可是只针对composer类有效;官方手册说的很明白以下;spa
那怎么办了,有的人会说,在新建一个文件目录,答案也是能够的,因为官方考虑到extend类库加载,以下;
说的也很清楚;可自定义;以下所示;我放置了在extend目录下,问题解决了,以下;
这个是个人文件目录结构以下;
最终效果以下;
总结;1.用框架时必定要遵循他们的约定来用,除非你有能重构。
2,因为在Qrcode官方类下载的不是很完整,大都数都是没有 命名空间规范,对类,路径认识不够所形成的,官方提供的 类没有 “命名空间 ”须要本身加已改造,
若是不想加能够防止在common目录下作公共函数用,以下;
3,报找不到类时必定不要急,首先看有没有命名空间,有没类的规范,有没有路径错误,官方手册细节很重要,官方手册细节很重要,官方手册细节很重要,官方提供的助手
类函数也没有错,也可从新 再定义 命名空间,加类,tp3.2,比tp5很规范,在tp3,2下能加载可是在tp5上就不必定可以用上,报错很正常。
4,必定要注意本身引入的类,是否有命名空间等,,,全部路径,也要注意,在次奉上各种插件类库,如下是个人github地址;https://github.com/Hu-Right/thinkphp3.2-
后期会有各种总结。