Кажется, вопрос области видимости переменной.
Поскольку вы определяете и присваиваете значение varialbe внутри функции, вы не можете получить к нему доступ извне.
Вместо этого, если вам нравитсяэто должно работать:
function __construct() {
public $user = ''; // Declared it here,
$this->middleware('auth');
$this->middleware(function ($request, $next) {
$this->user = \Auth::user()->role; // assigned a value here,
});
echo $this->user; // It will print here.
exit;
}
Переменная $this->user
будет объектом, поэтому я считаю, что эхо не будет работать.Если вы хотите проверить его значение, используйте вместо него print_r($this->user);
, а если вы хотите получить к нему доступ в другой функции, тогда return $this->user
it.