如何将中间件分配给 Laravel 中的路由(更好的方法)?
How to assign Middleware to Routes in Laravel (better way)?
我想在这里谈谈你的意见,或者你在 Laravel 中将中间件分配给路由的最著名的做法。我已经阅读了 3 种方式:
数组(单个和多个)
Route::get('/',['middlware' => 'auth', function () {
// Code goes here
}]);
Route::get('/', ['middleware' => ['first', 'second'], function () {
//
}]);
链法
Route::get('/', function () {
//
})->middleware(['first', 'second']);
完全合格Class姓名
use App\Http\Middleware\FooMiddleware;
Route::get('admin/profile', ['middleware' => FooMiddleware::class, function () {
//
}]);
我只是想知道你知道的最佳实践是什么,如果可能的话添加一些参考,以便我们新手更容易理解。任何答案将不胜感激。
从我的角度来看,所有版本都可以,我想不出一个比另一个有什么优势。我喜欢这样分组。
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
});
从我的角度来看,我更喜欢 chain 方法 将中间件分配给任何路由,因为它看起来非常干净和容易。即,
Route::get('/', function () {
//
})->middleware(['first', 'second']);
我想在这里谈谈你的意见,或者你在 Laravel 中将中间件分配给路由的最著名的做法。我已经阅读了 3 种方式:
数组(单个和多个)
Route::get('/',['middlware' => 'auth', function () { // Code goes here }]);
Route::get('/', ['middleware' => ['first', 'second'], function () { // }]);
链法
Route::get('/', function () { // })->middleware(['first', 'second']);
完全合格Class姓名
use App\Http\Middleware\FooMiddleware; Route::get('admin/profile', ['middleware' => FooMiddleware::class, function () { // }]);
我只是想知道你知道的最佳实践是什么,如果可能的话添加一些参考,以便我们新手更容易理解。任何答案将不胜感激。
从我的角度来看,所有版本都可以,我想不出一个比另一个有什么优势。我喜欢这样分组。
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
});
从我的角度来看,我更喜欢 chain 方法 将中间件分配给任何路由,因为它看起来非常干净和容易。即,
Route::get('/', function () {
//
})->middleware(['first', 'second']);