我几乎在每个路线和几乎每个视图中使用$user = Auth::user();
。我有几十条路线和几十条观点,因此不断重复$user = Auth::user();
感觉不对。
有没有办法可以只调用$user = Auth::user();
一次,然后在整个应用程序中使用它,包括在路线和视图中?
我使用的是Laravel 5.2。
答案 0 :(得分:3)
在app/Providers/AppServiceProvider.php
在boot
方法中,粘贴此代码。这样可以在所有视图中访问$user
变量
view()->share('user', auth()->user());
或者,如果您不喜欢辅助功能,那么您可以使用外墙
View::share('user', Auth::user());
并将其导入顶部
use View;
对于您的整个应用访问权限,您可以使用config
全局帮助程序。
将这行代码放在boot
方法
config('user', auth()->user());
在任何地方访问它,使用此
config('user');