這篇文章主要介紹了關於ThinkPHP3.2無法加載控制器,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
FILE: D:\phpStudy\WWW\wisdom\ThinkPHP\Library\Think\App.class.php LINE: 101
在将ThinkPHP3.1.3升级到ThinkPHP3.2.3时,即使将View、Mode、Controller放到了指定目录下也还是出现无法加载控制器的问题,经过一番研究,发现主要可能由几个原因引起。
1
2
#APP_USE_NAMESPACE(是否使用命名空間):當設定為false時,如果定義控制器時使用了命名空間,則會導致無法載入控制器,此時將參數設為true即可。可在ThinkPHP/Common/Conf/convention.php中設定。
ACTION_BIND_CLASS(是否綁定方法和類別):當設定為false時,Controller資料夾的結構應該是Controller/View名稱Controller.class.php ,方法在類別中逐一寫入;但設定為ture時,則Controller資料夾的結構應該是Controller/View名稱/方法.class.php,一個類別對應一個方法。
MODULE_ALLOW_LIST(允許存取模組)和MODULE_DENY_LIST(禁止存取模組):當模組設定在禁止存取或未設定在允許訪問的清單中,則無法正常存取該模組下的所有頁面。
URL_MODEL(URL存取模式):當不為0時,若使用U方法呼叫模組下的其他控制器的方法,需透過定義BIND_MODULE來定義模組,否則無法辨識目前模組。
控制器定義有誤:控制器中必須在首個非註解行定義命名空間,並且定義控制器時注意class名稱的拼寫,以及extends的控制器是否存在,常常因為這個小問題導致無法存取控制器。 (控制器檔案名稱/甚至Controller目錄的大小寫、拼字錯誤,新手最容易犯這個低階錯誤)
BIND_MODULE(綁定模組):如果在入口檔案中綁定了模組,則路徑中不能再包含模組,否則無法存取控制器。
以上是ThinkPHP3.2無法載入控制器的詳細內容。更多資訊請關注PHP中文網其他相關文章!