ThinkPHP3.2無法載入控制器怎麼辦?
在將ThinkPHP3.1.3升級到ThinkPHP3.2.3時,即使將View、Mode、Controller放到了指定目錄下也還是出現無法載入控制器的問題,經過一番研究,發現主要可能由幾個原因引起。
(1)APP_USE_NAMESPACE(是否使用命名空間):當設定為false時,如果定義控制器時使用了命名空間,則會導致無法載入控制器,此時將參數設為true即可。可在ThinkPHP/Common/Conf/convention.php中設定。
相關推薦:《ThinkPHP教學》
(2)ACTION_BIND_CLASS(是否綁定方法和類別):當設定為false時,Controller資料夾的結構應該為Controller/View名稱Controller.class.php,方法在類別中逐一寫入;但設定為ture時,則Controller資料夾的結構應該是Controller/View名稱/方法.class.php,一個類別對應一個方法。
(3)MODULE_ALLOW_LIST(允許存取模組)和MODULE_DENY_LIST(禁止存取模組):當模組設定在禁止存取或未設定在允許存取的清單中,則無法正常存取該模組下的所有頁面。
(4)URL_MODEL(URL存取模式):當不為0時,若使用U方法呼叫模組下的其他控制器的方法,需透過定義BIND_MODULE來定義模組,否則無法辨識目前模組。
(5)控制器定義有誤:控制器中必須在首個非註解行定義命名空間,並且定義控制器時注意class名稱的拼寫,以及extends的控制器是否存在,常常因為這個小問題導致無法存取控制器。
(6)BIND_MODULE(綁定模組):如果在入口檔案中綁定了模組,則路徑中不能再包含模組,否則無法存取控制器。
以上是thinkphp無法載入控制器怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!