dongliao1860 2014-03-26 09:08
浏览 68
已采纳

laravel:要在每个视图上使用的全局值

I am creating a login site with laravel. Is there a way that I can store the user's name on a variable where it can be called on the page?

I know I can store it in a session like Session::put('loginName', Auth::user()->name);

but this then I would have to also retrieve this user's name on every controller using $loginName = Session::get('loginName'); return View::make('dashboard/index')->with('loginName', $loginName);

and to get it from the view file with {{$loginName}}

I just wonder if there is a short cut so I don't have to repeat this on every controllers

  • 写回答

1条回答 默认 最新

  • duankanyi6539 2014-03-26 09:21
    关注

    In your routes.php file, do this:

    if(Auth::check()){
        $name = Auth::user()->name;
    }else{
        $name = 'Guest';
    }
    View::share('name', $name);
    

    In your view files:

    {{ $name }}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?