Php 将中间件应用于此资源组

Php 将中间件应用于此资源组,php,laravel,Php,Laravel,大家好,我找了一段时间,没有找到是否可以向上述资源集中添加中间件 有人知道有没有办法吗 提前谢谢 你可以这样做 将此添加到路由资源 Route::resources([ 'brands' => 'BrandController', 'categories' => 'CategoryController', 'products' => 'ProductController' ]); 你可以这样做 将此添加到路由资源 Route::res

大家好,我找了一段时间,没有找到是否可以向上述资源集中添加中间件

有人知道有没有办法吗


提前谢谢

你可以这样做

将此添加到路由资源

  Route::resources([
     'brands' => 'BrandController',
     'categories' => 'CategoryController',
     'products' => 'ProductController'
  ]);

你可以这样做

将此添加到路由资源

  Route::resources([
     'brands' => 'BrandController',
     'categories' => 'CategoryController',
     'products' => 'ProductController'
  ]);

有几种方法可以做到这一点

  • 对路由进行分组。基本上是对必须通过特定中间件的资源路由进行分组。看看下面的例子。所有路由都被分组并通过auth中间件传递

    ->Middleware('your Middleware  name');
    
  • P><强>控制器上的中间件< /强>:上面的代码将强制所有的功能通过中间件,但是如果您想强制中间件在控制器上的特定功能,则应该考虑将中间件放到控制器的构造上。这里有一个例子

    Route::group(['middleware' => 'auth'], function() {
          Route::resource('brand', 'BrandController');
          Route::resource('category', 'CategoryController');
          Route::resource('product', 'productController');
    
    
    });
    
    如果这样做,就不需要在路由中定义中间件

  • 链接资源路由本身中的中间件,下面是一个示例

        public function __construct()
        {
         $this->middleware('auth', ['except' => ['index','show']]);
        } 
    
  • 我选择的方法是第一种,因为它将相似的路线分组在一个地方,使代码有点条理化


    祝你好运

    有几种方法可以做到这一点

    Route::resource('brand', 'BrandController')->middleware(['auth']);
    
  • 对路由进行分组。基本上是对必须通过特定中间件的资源路由进行分组。看看下面的例子。所有路由都被分组并通过auth中间件传递

    ->Middleware('your Middleware  name');
    
  • P><强>控制器上的中间件< /强>:上面的代码将强制所有的功能通过中间件,但是如果您想强制中间件在控制器上的特定功能,则应该考虑将中间件放到控制器的构造上。这里有一个例子

    Route::group(['middleware' => 'auth'], function() {
          Route::resource('brand', 'BrandController');
          Route::resource('category', 'CategoryController');
          Route::resource('product', 'productController');
    
    
    });
    
    如果这样做,就不需要在路由中定义中间件

  • 链接资源路由本身中的中间件,下面是一个示例

        public function __construct()
        {
         $this->middleware('auth', ['except' => ['index','show']]);
        } 
    
  • 我选择的方法是第一种,因为它将相似的路线分组在一个地方,使代码有点条理化

    祝你好运

    Route::resource('brand', 'BrandController')->middleware(['auth']);
    
    使用路由组应该足够了


    使用路由组应该足够了。

    您尝试过对它们进行分组吗?您尝试过对它们进行分组吗?谢谢!解释得很好!非常感谢。解释得很好!