【问题标题】:Redirection from view or routesfile, Laravel从视图或路由文件重定向,Laravel
【发布时间】:2016-05-11 08:13:57
【问题描述】:

哪种做法更好?

A- 让我的“home.blade.php”视图根据用户是否登录(Auth::check())显示不同的内容

B- 让我的路由文件根据用户是否登录将他们重定向到不同的视图。

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

现在我有以下内容:

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

【问题讨论】:

    标签: php laravel laravel-routing


    【解决方案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');
    

    【讨论】:

      【解决方案2】:

      两个选项都不错,具体取决于您在此视图中的内容。如果您只有“您已登录”/“您尚未登录”消息,使用刀片将其显示在视图中很酷。

      如果你有两个不同的页面,内容很多,你查看的文件会很大而且很混乱,所以我相信最好的做法是创建两个视图并验证用户是否登录了你的控制器。

      这里更好的做法取决于你的实现

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-24
        • 2018-07-07
        • 2017-06-19
        • 2022-01-26
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多