Php 如何在::auth()上应用中间件?

Php 如何在::auth()上应用中间件?,php,laravel,Php,Laravel,以下是我在routes.php文件中的代码: Route::auth(); 现在我需要在这条路线上安装一个中间件。大概是这样的: Route::auth()->middleware('setLang'); 但在本例中,它抛出以下错误: routes.php第43行中的FatalErrorException: 在null上调用成员函数middleware() 如何修复它?您可以通过以下方式进行修复: Route::group(['middleware' => 'setLang'],

以下是我在
routes.php
文件中的代码:

Route::auth();
现在我需要在这条路线上安装一个中间件。大概是这样的:

Route::auth()->middleware('setLang');
但在本例中,它抛出以下错误:

routes.php第43行中的FatalErrorException: 在null上调用成员函数middleware()

如何修复它?

您可以通过以下方式进行修复:

Route::group(['middleware' => 'setLang'], function () {
  Route::auth();
});
记住注册你的中间件。

您应该在路由组中使用中间件,将路由作为

Route::group(['middleware' => 'setLang'], function () {
    Route::auth();
});

要让它工作,你首先需要

之后,使用
group()
方法设置
中间件
属性:

Route::group(['middleware' => 'setLang'], function () {
    Route::auth();
});

如果您仍然得到
类未找到
错误,请尝试运行
composer dumpauto
命令。

现在它抛出此错误:
ReflectionException in Container.php第734行:Class setLang不存在
。有什么想法吗?@AmitGupta,你在开玩笑吗?本周您已经复制并粘贴了我的代码三次。我看到你也复制了Joseph Silber的代码。我告诉你这件事之后,你告诉我你没有抄袭它。那么你已经删除了帖子。你不知道,但是像
>10000
这样评级的人仍然可以看到被删除的帖子。但你似乎并不在意自己的声誉,而试图做一些肮脏的事情来提高自己的评级。现在你试图告诉我我在复制你的代码,而代码是OP要求的唯一方式,它来自于中间件名称发生变化的文档。这是你删除的帖子:@AlexeyMezenin这是我说的,当代码是完成相同任务的唯一方式时,你总是认为我在应对。@AmitGupta,我已经发布了链接,这样人们就可以看到实际的复制和粘贴是什么样子的,这样他们就可以有自己的观点了。@AlexeyMezenin和其他人也可以看到你在上面的答案中所做的事情。