2016-05-03 26 views
0

我的Laravel 5.2應用程序中有幾種語言。每個區域設置都存儲在用戶模型中的數據庫中。所以,每次用戶登錄時,語言環境都必須更新。使用Auth :: loginUsingId爲phpunit設置語言環境

事情是在我的測試中,我使用了很多Auth :: loginUsingId,因爲我需要用不同的用戶配置文件測試函數。

所以,我不想用App :: setLocale(Auth :: user-> locale)附加到每個這些調用,也不提取它到一個函數。

任何想法我該怎麼做?

回答

0

我做了什麼來解決這個問題是創建一箇中間件

public function handle($request, Closure $next) 
{ 
    if ($user = Auth::user()) { 
     App::setLocale($user->locale); 
    } 
    return $next($request); 
} 

您通過本中間件處理所有的路線,你可以有區域在每個請求自動設置。

+0

是的,但我並不真的需要它來執行每個請求...我想只用於我的測試 –

相關問題