1. 程式人生 > >Thinkphp 5.1+ 中的路由分組

Thinkphp 5.1+ 中的路由分組

開篇廢話: 除四書外,杜撰的太多,偏只我是杜撰不成? thinkphp 3.2 之後 '杜撰' Laravel 太嚴重,既然這樣,我 們為什麼不直接用 Laravel 呢?!!

我用 Lumen 寫 api 習慣了,總是想把路由寫成分組格式或是把字首,中介軟體等摘出來,TP5.1+ 中可以實現,但是跟 Laravel/Lumen 有些許區別,如下:

 // 路由分組
    // prefix 名稱空間
    Route::group('dev/api',function (){ // 路由字首
        Route::group(['ext' => 'html'],function (){
            Route::get('test4','test4');
        })->middleware('check');
    })->prefix('@dev/dev/');

group() 的第一個引數如果是字串就是路由字首,如果是陣列格式的就是代表路由引數.

prefix(@dev/dev/) 可以理解成 Laravel 中的 namespace 名稱空間引數

由路由可知以下這個請求

dev/api/test4.html

 會走 check 中介軟體,url 字尾為 .html,會訪問 dev 模組中 dev 控制器中的  test4 方法

check 中介軟體程式碼

這是一個後置中介軟體,在訪問結束後我們加上了一個 xxx 的 header 頭資訊.

test4 方法

public function test4(Request $request){
                echo "@dev/dev/test4";
            }

 訪問結果