Ошибка: Попытка получить свойства 'заголовки' необъекта, когда я пробую промежуточное ПО на основе Closure непосредственно в конструкторе контроллера. Laravel 6 - PullRequest
0 голосов
/ 03 февраля 2020

По моему Laravel 5.2. В конструкторе

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

Итак, я могу использовать «$ this-> data ['user']» в любом месте контроллера.

Но в Laravel 5.3 или выше мы не можем получить доступ к аутентифицированному пользователю в конструкторе. И когда я пытаюсь использовать промежуточное ПО на основе Closure в конструкторе.

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

Затем я получаю сообщение об ошибке:

ErrorException Попытка получить свойство 'headers' не-объекта http://localhost/dhruv/intranet-v6.0/public/profile

1 Ответ

0 голосов
/ 03 февраля 2020

попробуйте так

public function __construct()
{
    $this->middleware('customer');
    $this->middleware(function ($request, $next) {
        $this->data['user'] = Auth::guard('customer')->user();

        return $next($request);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...