2016-05-10 17 views
0

どちらが良い習慣ですか?ビューまたはroutesfileからのリダイレクト、Laravel

A-は、ユーザーがログインまたは(Auth::check()

または

B-を使用していない場合に応じて、私のルートは、ユーザーをリダイレクトするファイル持っているが、私の「home.blade.php」ビューショー異なるコンテンツを持っていますログインしているかどうかに応じて異なるビューに表示されます。

私はBを推測していますが、同じルートで2つの異なるビューを実装する方法はわかりません。

今、私は次のようにあります

Route::get('', [ 
'uses' => '\App\Http\Controllers\[email protected]', 
'as' => 'home', 

答えて

1

ユーザーがログインしていない限り、コンテンツを表示するには、ご使用のブレード・テンプレート・ビュー・ファイルにそのようなものを使用することができます。..

@unless (Auth::check()) 
    You are not signed in. 
@endunless 

場合や、ユーザー

@if(Auth::check()) 
    You are signed in. 
@endif 

各ユーザー(ゲスト、ログインしたユーザー)にカスタムビューを提供する場合は、 )あなたはコントローラでそれを行うことができます

if(Auth::check()) { 
    return view('user'); 
} 

// otherwise 
return view('guest'); 
1

このビューには、2つのオプションがあります。 「あなたがログインしている」/「ログインしていません」というメッセージしか表示されていない場合は、ブレードを使って見てください。

多くのコンテンツを持つ2つの異なるページがある場合は、ファイルが大きく混乱するため、ベストプラクティスでは2つのビューが作成され、ユーザーがコントローラにログインしているかどうかを確認します。

ここでの方針は実装によって異なります

関連する問題