在整个应用程序中使用变量

时间:2016-08-06 03:42:15

标签: laravel laravel-5 laravel-5.2

我几乎在每个路线和几乎每个视图中使用$user = Auth::user();。我有几十条路线和几十条观点,因此不断重复$user = Auth::user();感觉不对。

有没有办法可以只调用$user = Auth::user();一次,然后在整个应用程序中使用它,包括在路线和视图中?

我使用的是Laravel 5.2。

1 个答案:

答案 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');