全局变量很糟糕。不管怎样,不要使用全局变量,不要想着使用全局变量,总是想着你怎么能不在你的代码中使用它们而仍然拥有你需要的一切。这里有一些原因,还有更多。
相反,请使用 Laravel 的强大功能来帮助您:
在您的路由上强制登录,创建经过身份验证的路由组:
Route::group(array('before' => 'auth'), function()
{
Route::get('/users/posts', array('as'=>'users.posts.index', 'uses'=>'PostsController@usersPostsIndex'));
});
现在您知道每次调用您的帖子都会经过身份验证,您可以
class PostsController extends Controller {
public function usersPostsIndex()
{
return View::('users.posts.index')->
with('user', Auth::user());
}
}
在你看来,你只需要
{{$user->email}}
{{$user->first_name . ' ' . $user->last_name}}
{{$user->email}}
{{$user->mobile}}
如果您不想编写代码将 User 实例发送到所有视图,请使用 Laravel 的 View Composers 的魔力,将其添加到您的 filters.php 或创建一个 composers.php 文件:
View::composer(array('users.posts.index','users.posts.edit'), function($view)
{
$view->with('user', Auth::user());
});
这就是现在可以使用您的视图的方式:
class PostsController extends Controller {
public function usersPostsIndex()
{
return View::('users.posts.index');
}
public function usersPostsEdit()
{
return View::('users.edit.index');
}
}
因为 Laravel 会自动将Auth::user()
这些视图注入为$user
.