Php 如何使登录的用户对象可用于Laravel 5.3中的所有视图

Php 如何使登录的用户对象可用于Laravel 5.3中的所有视图,php,laravel,laravel-5,Php,Laravel,Laravel 5,我希望能够在我的视图中获取登录用户的详细信息。例如{{$user->email} 这是我的Controller.php: public $view_data = array(); public function __construct() { $this->middleware('auth'); $this->view_data['user'] = Auth::user(); } $user在我的视图中返回NULL。我遗漏了什么吗?默认情况下,它已通过以下方式在所

我希望能够在我的视图中获取登录用户的详细信息。例如
{{$user->email}

这是我的
Controller.php

public $view_data = array();

public function __construct()
{
    $this->middleware('auth');
    $this->view_data['user'] = Auth::user();
}

$user
在我的视图中返回
NULL
。我遗漏了什么吗?

默认情况下,它已通过以下方式在所有视图中可用:

Auth::user()
auth()->user()

您可以通过以下方法直接访问视图中的loggedIn用户:

{!! Auth::user()->name !!}
{!! auth()->user()->name !!}
{!! access()->user()->name !!}
{{\Auth::user()}}
{{\Auth::user()['email']}

Laravel在您登录后已提供此服务。只要写下:

{{ Auth::user()->email }}
{{ auth()->user()->email }}
{{ $user->email }} 
{{ $user->username }}
您还可以对所有视图使用ServiceProvider:

创建服务提供者:
php artisan make:provider UserServiceProvider

app\providers\UserServiceProvider.php

现在,用户对象可用于所有视图,您只需编写:

{{ Auth::user()->email }}
{{ auth()->user()->email }}
{{ $user->email }} 
{{ $user->username }}

他说的是在视图中访问它,在这种情况下,
auth()->user()->:field:
就足够了。查看一下