J'ai une variable privée dans ma classe que je souhaite définir sur l'utilisateur authentifié. Pour une raison quelconque, cependant, je ne peux pas obtenir la variable à être définie à l'intérieur du constructeur. Voici ce que j'ai jusqu'à présent:
private $user = null;
public function __construct()
{
$this->middleware('auth');
$this->user = Auth::user();
}
public function index()
{
$return['Admin'] = $this->user;
return view('home', compact('return'));
}
La variable $user
reste nulle pour une raison quelconque. Quand j'utilise Auth::user()
à la place de $ this-> user, cela fonctionne très bien. J'ai défini des variables du constructeur plusieurs fois dans le passé et c'est la première fois que cela ne fonctionne pas pour moi. Toute aide serait appréciée.
Depuis Laravel 5.3, vous n'êtes plus en mesure d'accéder à la session dans les constructeurs de contrôleurs, car le middleware ne s'est pas encore exécuté .
Vous pouvez définir une fermeture (faites défiler jusqu'à «Session In The Constructor») qui se produit après l'exécution du middleware de session.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras