Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Laravel中为路由分配中间件(更好的方法)?_Php_Laravel_Routes_Frameworks_Middleware - Fatal编程技术网

Php 如何在Laravel中为路由分配中间件(更好的方法)?

Php 如何在Laravel中为路由分配中间件(更好的方法)?,php,laravel,routes,frameworks,middleware,Php,Laravel,Routes,Frameworks,Middleware,我想在这里谈谈您的意见,或者您在为Laravel中的路由分配中间件方面最著名的做法。我读过三种方法: 阵列(单个和多个) Route::get('/',['middlware'=>auth',function(){ //代码在这里 }]); Route::get('/',['middleware'=>['first','second'],function(){ // }]); 链法 路由::get('/',函数(){ // })->中间件(['first','second']) 完全限定类名

我想在这里谈谈您的意见,或者您在为Laravel中的路由分配中间件方面最著名的做法。我读过三种方法:

  • 阵列(单个和多个)

    Route::get('/',['middlware'=>auth',function(){
    //代码在这里
    }]);

    Route::get('/',['middleware'=>['first','second'],function(){
    //
    }]);

  • 链法

    路由::get('/',函数(){ // })->中间件(['first','second'])

  • 完全限定类名

    使用App\Http\Middleware\foo中间件;
    路由::get('admin/profile',['middleware'=>foommiddleware::类,函数(){
    //
    }]);


我只想知道你知道的最佳实践是什么,如果可能的话,添加一些参考资料,以便我们新手更容易理解。任何答案都将不胜感激。

在我看来,所有版本都可以,我想不出其中一个版本比另一个版本有什么优势。我喜欢这样把他们分组

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

});

在我看来,我更喜欢链方法将中间件分配给任何路由,因为它看起来非常干净和简单。i、 e

Route::get('/', function () {
        //
})->middleware(['first', 'second']);

很好的问题,但我恐怕不适合StackoOverflow。也许你会在Laracasts论坛或laravel.io遇到麻烦,因为我正在寻找类似的问题,是否有重复的可能性。我没有看到。感谢您的评论。JoelI将尝试在上述论坛中找到它。前两种方法之一(数组或链接)。