Laravel - 在控制器构造函数中设置auth用户

时间:2017-07-20 11:31:58

标签: php laravel laravel-5.3

在我的基本控制器中设置auth用户是不好的做法,如下所示:

 abstract class Controller extends BaseController
 {
      use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

      protected $user;

      public function __construct()
      {

           $this->middleware(function ($request, $next) {

                 $this->user = Auth::user();

                 view()->share('signedIn', Auth::check());
                 view()->share('user', $this->user);

                  return $next($request);
           });

      }
  }

或者我应该如何在控制器方法中访问auth用户:

 public function index()
{
      $user = Auth::user();
}

我根据taylors评论(101 LINQ-Samples

提出要求

然而,Jeffery Way似乎是在构造函数中设置这个,正如Laracast的一些课程所示?

1 个答案:

答案 0 :(得分:0)

在较新的版本中,您无法像5.2中那样使用控制器构造函数中的会话。你只是在看旧课程。

此外,在自己的类中定义中间件,而不是在控制器中。