开篇废话: 除四书外,杜撰的太多,偏只我是杜撰不成? 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";
}
访问结果