【发布时间】:2019-12-11 06:09:53
【问题描述】:
我正在尝试使用中间件创建动态路由前缀。
我在我的web.php 中尝试过这样的:
Route::group(['prefix' => '{role}', 'middleware'=>'operator'], function() {
Route::get('/whatever', function() {
dd('halo');
});
});
我的运营商中间件:
public function handle($request, Closure $next)
{
dd(Route::current()->uri());
}
但是当我点击/Admin/whatever 时,dd 的输出是这样的"{role}/whatever"。应该是Admin/whatever 对吧?
所以想法是,当我以管理员身份登录时,我想像这样重定向/Admin/home。
编辑: 我也在运营商中间件中试过这个:
public function handle($request, Closure $next, $role)
{
dd($role));
}
但是给我错误太少的参数来函数...
【问题讨论】:
-
请试试这个兄弟。
Route::group(['prefix' => '{role}', 'middleware'=>'operator'], function() { Route::get('/whatever', function($role) { dd('halo'); }); });我没有测试过。但它应该这样做。 -
请注意前缀希望您静态定义它,而不是从 URL 获取它
-
感谢您的回复,它仍然是
{role}/whatever...
标签: laravel routes middleware