从视图或路径文件重定向,Laravel

时间:2016-05-10 20:28:33

标签: php laravel laravel-routing

哪种做法更好?

A-拥有我的" home.blade.php"视图显示不同的内容,具体取决于用户是否使用(Auth::check()

登录

B-我的路由文件将用户重定向到不同的视图,具体取决于他们是否登录。

我猜B,但我不确定如何在同一条路线下实现两个不同的视图。

现在我有以下内容:

Route::get('', [
'uses'  => '\App\Http\Controllers\HomeController@index',
'as'    => 'home',

2 个答案:

答案 0 :(得分: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 :(得分:1)

两个选项都很好,具体取决于您在此视图中的内容。如果您只有一个"您已登录" /"您还没有登录"消息,使用刀片使其在视野中很酷。

如果您有两个不同的页面,内容很多,那么您查看文件将会变得困难,所以我相信最佳做法会产生两个视图并验证用户是否已登录您的控制器。

这里更好的做法取决于您的实施