我想在用户登录后通过我的所有观点分享用户名。我在imy routes.php中直接尝试了这个:
View::share('user', $user);
但它没有任何共享。我还尝试将其放在以下路线中:
Route::post('auth', function()
{
$user = Input::get('username');
View::share('user', $user);
$credentials = array(
'username' => Input::get('username'),
'password' => Input::get('password')
);
if (Auth::attempt($credentials))
{
//Cache::put('user', $user);
return View::make('panel')->with('user', $user);
}
//return 'user :' .$user. ' and pass : ' .$pass;
return Redirect::to('/');
});
你能帮帮我吗?
编辑:
我在每个需要它的刀片中解决了这个问题:
$user = Auth::user()->username;
但是我想为我的所有观点定义一次 - 有人可以给我一个提示吗?
答案 0 :(得分:1)
您可以创建一个路由过滤器,该过滤器与视图共享用户名。现在,您可以将此过滤器应用于每个路径或路线组,以便在视图中使用它。
Route::filter('shared.user', function()
{
$user = '';
if(Auth::check())
{
$user = Auth::user()->username;
}
View::share('user', $user);
});
Route::get('hello', array('before' => 'shared.user', function()
{
return View::make('hello');
}));
Route::group(array('before' => 'shared.user'), function()
{
// routes which show the username
});