thinkphp5動態生成二維碼實例總結


thinkphp5關於動態生成二維碼類庫總結;

遇到的最大問題如下;我想大部分人也碰到過,所有覺得有必要總結下;

 

 

 thinkphp5提示找不到Qrcode類,可是自己明明都放置到了,vendor 目錄下面,怎么還是找不到了?是不是路徑錯了?

 

 上面試根據thinkphp手冊上說的加了使用命名空間,還是報錯,於是我右試了下以下方式還是報錯?我當時百度了看看大多數都是tp3.2的寫法,千篇一律,所以覺得有必要搞定這樣的問題。

 

 這次我連vendor都加上了還是報錯,用官方提供的助手函數 vendor()也報錯,QRcode的類代碼如下;

這些都是存在的,后來我試試了用php 系統函數來獲取路徑看看是不是路徑問題;但是還是報錯;如下;

 

 正常情況下;include_once函數如果路徑錯了會提示的,如下;

這個提示是路徑錯誤問題;我的項目是在public下面,所以就防止了vendor目錄下;PHP函數路徑助手函數,各種引入都報類不存在,

解決方案如下;

1,Vendor 是用來加載第三方類庫的是不假,但是只針對composer類有效;官方手冊說的很明白如下;

那怎么辦了,有的人會說,在新建一個文件目錄,答案也是可以的,由於官方考慮到extend類庫加載,如下;

 

說的也很清楚;可自定義;如下所示;我放置了在extend目錄下,問題解決了,如下;

這個是我的文件目錄結構如下;

 

 最終效果如下;

總結;1.用框架時一定要遵循他們的約定來用,除非你有能重構。

          2,由於在Qrcode官方類下載的不是很完整,大都數都是沒有 命名空間規范,對類,路徑認識不夠所造成的,官方提供的 類沒有 “命名空間 ”需要自己加已改造,

           如果不想加可以防止在common目錄下做公共函數用,如下;

            

        

          

 

          3,報找不到類時一定不要急,首先看有沒有命名空間,有沒類的規范,有沒有路徑錯誤,官方手冊細節很重要,官方手冊細節很重要,官方手冊細節很重要,官方提供的助手

              類函數也沒有錯,也可重新 再定義 命名空間,加類,tp3.2,比tp5很規范,在tp3,2下能加載但是在tp5上就不一定能夠用上,報錯很正常。

         4,一定要注意自己引入的類,是否有命名空間等,,,所有路徑,也要注意,在次奉上各類插件類庫,以下是我的github地址;https://github.com/Hu-Right/thinkphp3.2-

           后期會有各類總結。

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM