Laravel 5.1 - 主要 blade 布局中的变量
Laravel 5.1 - Variable in main blade layout
我正在使用 Laravel 5.1。我的布局视图中的变量有问题。
在我的布局视图中,我使用变量在我的 DashboardController
:
上显示像这样的活动登录用户
...
class DashboardController extends Controller {
public function index(Request $request) {
//
$title = "Dashboard";
$userActive = $request->user();
return view('dashboard.index', compact('title', 'userActive'));
}
...
$userActive
是显示谁在登录。我的问题是,如果我使用另一个函数或另一个 Contoller,我需要像上面那样编写这个($userActive
)代码。
如何通过只写一次使其变得简单?
您可以在 blade 模板中访问 Auth class 以访问当前登录的用户:
{{ Auth::user()->name }}
或者您可以尝试使用视图编辑器:http://laravel.com/docs/5.0/views#view-composers
另一种方法是使用 share() 方法。例如,您可以在 AppServiceProvider 中添加以下代码:
view()->share('currentUser', Auth::user());
这样在任何视图中您都可以通过 $currentUser 变量访问登录用户。
文档:http://laravel.com/docs/5.1/views#sharing-data-with-all-views
我在这种情况下的做法:
创建一个 views/includes/menu.blade.php 文件并将其包含在 app.blade.php 文件中:
@include('includes.menu')
而不是调用 {{ Auth::user()->name }}
始终需要使用菜单,在菜单上。blade.php 按照建议将以下内容 {{ Auth::user()->name }}
放在菜单文件中。
是的,您在 blade 中访问 Auth class。试一试:
{{ Auth::user()->name }}
如果你使用哨兵:
{{ Sentry::getUser()->name }}
我正在使用 Laravel 5.1。我的布局视图中的变量有问题。
在我的布局视图中,我使用变量在我的 DashboardController
:
...
class DashboardController extends Controller {
public function index(Request $request) {
//
$title = "Dashboard";
$userActive = $request->user();
return view('dashboard.index', compact('title', 'userActive'));
}
...
$userActive
是显示谁在登录。我的问题是,如果我使用另一个函数或另一个 Contoller,我需要像上面那样编写这个($userActive
)代码。
如何通过只写一次使其变得简单?
您可以在 blade 模板中访问 Auth class 以访问当前登录的用户:
{{ Auth::user()->name }}
或者您可以尝试使用视图编辑器:http://laravel.com/docs/5.0/views#view-composers
另一种方法是使用 share() 方法。例如,您可以在 AppServiceProvider 中添加以下代码:
view()->share('currentUser', Auth::user());
这样在任何视图中您都可以通过 $currentUser 变量访问登录用户。 文档:http://laravel.com/docs/5.1/views#sharing-data-with-all-views
我在这种情况下的做法:
创建一个 views/includes/menu.blade.php 文件并将其包含在 app.blade.php 文件中:
@include('includes.menu')
而不是调用 {{ Auth::user()->name }}
始终需要使用菜单,在菜单上。blade.php 按照建议将以下内容 {{ Auth::user()->name }}
放在菜单文件中。
是的,您在 blade 中访问 Auth class。试一试:
{{ Auth::user()->name }}
如果你使用哨兵:
{{ Sentry::getUser()->name }}