thinkphp5使用空模組

2022-05-09 21:14:36 字數 923 閱讀 6388

今天想做乙個功能,可以後台設定url是二級網域名稱(也是指向同乙個伺服器)還是一級網域名稱(網域名稱/模組),網上找了找,tp3.2開始取消了空模組。所以只能自己修改框架原始碼了。

----------有點晚,明天再寫-----------

--------------------繼續------------------

首先我隨機打了乙個模組名,tp就報錯了,因為沒有這個模組。然後我看到了如下錯誤:

然後我就看到了報錯的行號,跟處理錯誤的地方。(tp5的報錯真的比以前好啊 )。

就決定改這裡了。

else if(config::get('empty_module'))
加了個else if進去,empty_module是沒有的,要自己在配置檔案裡新增。

define('module_name', $module);這裡為了在控制器裡能夠獲取到之前要訪問的空模組名,tp5把以前的module_name取消了,可以了
$request->module()獲取到,可是上面的更改**中
// 初始化模組

$request->module($module);

這句就把module名更改為我要設定的空模組了,所以

$request->module();就獲取不到使用者要訪問的模組名了。
要實現我要的功能,我還設定了空控制器,空方法。

這個跟其他是一樣的。

空控制器:

因為我設定的空模組名是error,所以要就在error資料夾下的controller下 建乙個error.php。

空操作就是在在方法裡面建立乙個_empty()方法。

最後我的是這樣的。

tp5不建議使用echo直接輸出(我是為了測試方便。。。)。

這樣就使用者就可以隨便訪問,沒有的模組就交給了error模組的_empty處理了。

ThinkPHP5使用快取

cache 使用復合快取型別 type complex 預設使用的快取 default 驅動方式 type file 在這設定換人的快取方式 快取儲存目錄 path cache path,檔案快取 file 驅動方式 type file 設定不同的快取儲存目錄 path runtime path f...

ThinkPHP5使用QueryList4教程

幾乎每天都有人問我tp5中如何使用querylist4,所以寫了這篇教程。說實話我並不太想寫這篇教程,因為實在是沒有什麼技術含量。在thinkphp5 根目錄執行composer命令安裝querylist composer require jaeger querylist下面演示在index控制器中...

thinkphp5如何使用layout

thinkphp5的layout和以前的版本有點差異。首先開啟配置檔案中的 template layout on true,layout name public layout layout on是開啟layout,layout name是可以配置layout的儲存位址 然後在你儲存layout位址的...