2016-11-01 44 views
3

這是我在routes.php文件代碼:如何申請:: auth()中間件?

Route::auth(); 

現在我需要把中間件在此路線的方式。事情是這樣的:

Route::auth()->middleware('setLang'); 

但在這種情況下,它拋出這個錯誤:

FatalErrorException in routes.php line 43: Call to a member function middleware() on null

我怎樣才能解決呢?

回答

5

要使其工作,你首先需要register middleware

在使用group()方法後設置middleware屬性:

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

如果你仍然得到Class not found錯誤,嘗試運行composer dumpauto命令。

+0

@AlexeyMezenin停止複製他人代碼。 –

+0

@AmitGupta,你在開玩笑嗎?本週你已經複製並粘貼了我的代碼三次。我看到你也複製了Joseph Silber的代碼。在你告訴你這件事之後,你告訴過你沒有複製它。然後你刪除了帖子。你不知道,但是像'> 10000'這樣的人還是可以看到已刪除的帖子。但似乎你不在乎你的聲譽,同時試圖做噁心的東西來提高你的評價。現在你試圖告訴我,我正在複製你的代碼,而代碼是唯一的方式去做OP所要求的,而這是來自只改變了中間件名稱的文檔。 –

+0

這裏是你刪除的帖子:http://stackoverflow.com/questions/40344687/laravel-custom-validation-on-registration-form/40344861#40344861 –

1

你可以做到這一點是:

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

記住註冊您的中間件。 Docs

+0

現在它會拋出這個錯誤:Container.php中的ReflectionException異常734行: 類setLang不存在。任何想法? – stack

2

你應該用你的中間件具有裏面你的路由的路由組中的

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