Вы не можете получить доступ к аутентифицированному пользователю в конструкторе вашего контроллера, потому что промежуточное ПО еще не запущено.
Я бы порекомендовал использовать черту
protected $currentUser;
public function __construct()
{
$this->middleware(function($request, $next) {
$this->currentUser = Auth::user();
return $next($request);
});
}
public function auth_check()
{
return ! is_null($this->currentUser);
}
, тогда вы можете включать свою черту всякий раз, когда вам нужно получить доступ к аутентифицированным данным пользователя.
если у вас есть еще __constructor
внутри вашего контроллера, вы можете использовать псевдоним конструктора признаков
class AdminController extends Controller {
use Helper {
Helper::__construct as private __helperConstructor;
}
private $example;
public function __construct($example)
{
$this->example = $example;
$this->__helperConstructor();
}
}