關於Thinkphp5類命名導致的“模塊不存在”問題


不得不說,thinkphp5就是個十足的坑貨,

在thinkphp3.2.3的基礎上,函數、用法變了也就忍了,

在mac下寫的一個類文件 GetRedisData.php,在mac+mamp環境下是正常運行的

但是把一模一樣的文件放到centos下,tp就報錯找不到類

開始我還以為是nginx才會出現這個問題,后來發現不是這樣  換apache也是一樣

查資料,5.0的手冊上寫着的“類文件采用駝峰法命名”,沒錯啊,"GetRedisData"這不就是駝峰法嗎?

折騰了很久,無意中把文件名改成

Getredisdata

居然就能訪問了,訪問地址是/GetRedisData/***

 

后來查手冊,里面url部分介紹到一些信息,整理了下來:

'url_convert'    =>  true,

配置為true的情況下,GetRedisData.php無法通過getredisdata或GetRedisData等任何大小寫的形式訪問

而必須通過 get_redis_data這種形式才行,

這是什么邏輯?

設計這套規則的目的是什么?

個人感覺非常難以接受,

既然不能訪問駝峰法的命名,那么在這種情況下,getredisdata究竟能訪問到什么呢?

難道只能訪問首字母大寫的Getredisdata.php?

如果是這樣,那為什么又要在規范中寫“類文件采用駝峰法命名”,而又在缺省的url配置中設置為true呢?

這不就是給人添堵,浪費人時間嗎?

 

如果要取消,只能把大小寫轉換關閉

'url_convert'    =>  false,

這個時候,才能使用GetRedisData訪問GetRedisData.php

 


免責聲明!

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



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