中间件理解和误区

中间件的误区1

Route::group(['prefix'=>'yaoxs','namespace'=>'Test','middleware' => ['employee']],function(){
    echo "此时进入这里不会去执行中间件employee,
    中间件的执行顺序应该是调用yaoxs/index路由的时候,
    执行中间件employee 再执行TestController控制器里面的index方法";
    Route::get('index', 'TestController@index');
});
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

group的意义大概就是能够同时给多个路由绑定同样的中间件吧,上面那个大概等同于

Route::get('index', ['middleware' => ['employee'],'uses'=>'TestController@index']);
Route::get('create', ['middleware' => ['employee'],'uses'=>'TestController@create']);

如果组内路由太多,配置起来太麻烦,所以放在group 上。

至于前置中间件还是后置,主要看中间件 $next($request) 的位置

后置举例:

$response = $next($request); // 先执行controller
check() // 后置操作
return $response  // 返回响应
3年前 评论
陈先生

洋葱结构,你的控制器就是洋葱心,中间件就是洋葱一层一层的

3年前 评论
xianyunyehe

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!