如何将中间件分配给 Laravel 中的路由(更好的方法)? [关闭]
Posted
技术标签:
【中文标题】如何将中间件分配给 Laravel 中的路由(更好的方法)? [关闭]【英文标题】:How to assign Middleware to Routes in Laravel (better way)? [closed] 【发布时间】:2016-10-28 14:15:19 【问题描述】:我想在这里发表您的意见,或者您在 Laravel 中将中间件分配给路由的最佳实践。我已经阅读了 3 种方法:
数组(单个和多个)
Route::get('/',['middlware' => 'auth', function ()
// Code goes here
]);
Route::get('/', ['middleware' => ['first', 'second'], function ()
//
]);
链式方法
Route::get('/', function ()
//
)->middleware(['first', 'second']);
完全限定的类名
use App\Http\Middleware\FooMiddleware;
Route::get('admin/profile', ['middleware' => FooMiddleware::class, function ()
//
]);
我只想知道你知道的最佳实践是什么,如果可能的话,添加一些参考,以便我们新手更容易理解。任何答案将不胜感激。
【问题讨论】:
好问题,但恐怕不适合 StackoOverflow。也许你会遇到麻烦,例如Laracasts 论坛或 laravel.io? 当我在寻找类似的问题时,是否有重复的可能性。我一个都没看到感谢您的评论。乔尔 我会尝试在上述论坛中找到它。 前两种方法之一(数组或链式)。 【参考方案1】:从我的角度来看,我更喜欢 chain 方法 将中间件分配给任何路由,因为它看起来非常干净和容易。即,
Route::get('/', function ()
//
)->middleware(['first', 'second']);
【讨论】:
【参考方案2】:从我的角度来看,所有版本都还可以,我想不出一个比另一个有什么优势。我喜欢这样分组。
Route::group(['middleware' => 'auth'], function ()
Route::get('/home', [
'as' => 'home',
'uses' => 'Dashboard\DashboardController@dashboard'
]);
Route::pattern('users', '\d+');
Route::resource('users','UserController');
// more route definitions
);
【讨论】:
以上是关于如何将中间件分配给 Laravel 中的路由(更好的方法)? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章