J'ai un problème très étrange dans J'ai ajouté ceci à mon démarrage code> in
appServiceProvider.php code>: p>
Uncaught ErrorException: Undefined variable: user in /home/forge/www.mywebsite.com/storage/framework/views/4b273b493839e5fb54c3f6a2d11d9446bee5de33.php:11
4 Réponses :
Vous pouvez accéder à l'utilisateur authentifié via l'assistant d'authentification de votre vue. P>
https://laravel.com/docs/5.8/helpers#method-auth p>
mise à jour: afin de ne pas répéter ceci dans chaque vue, vous pouvez récupérer l'utilisateur à partir de la façade / assistant d'authentification dans vos fichiers de mise en page, de cette façon la variable sera disponible sous toutes les vues qui prolongent cette mise en page P> $ utilisateur = auth () -> utilisateur (); code> p>
Merci d'avoir répondu. Il semble donc que la seule solution consiste à utiliser l'assistant auth-auth () code> ALPER ou la code> auth- code> façade et je ne peux pas partager la variable code> code> les vues. Est-ce correct?
C'est correct, mais vous pouvez utiliser directement la variable code> utilisateur $> sans utiliser la façade si vous le transmettez à la vue via la méthode du contrôleur.
Ouais, mais cela signifierait dupliquer 'utilisateur' => auth () -> utilisateur () code> dans chaque contrôleur. Je pensais qu'il y avait un moyen de centraliser la variable passant.
C'est correct. Sinon, vous pouvez récupérer l'utilisateur à partir de la façade / assistant d'authentification dans vos fichiers de mise en page, de cette façon la variable sera disponible sous toutes les vues qui prolongent cette mise en page.
Utilisez simplement une méthode globale ou P> auth () code> dans votre lame pour obtenir des informations utilisateur authentifiées.
$user = auth('web')->user();
@Luca Puddu a ajouté quelque chose, cela pourrait vous être utile pour vous - Checkout l'édition mise à jour.
Tous sont de grandes réponses. Vous pouvez également utiliser la façade d'authentification pour accomplir cela.
envisagez d'utiliser Afficher les compositeurs pour des variables partagées autour des vues DOCS P> P>
Cela semble être la réponse la plus propre. Calling Affichage () -> Partager () Code> directement à partir de la méthode CODE> DECORE CODE> AppserverServiceProvider CODE> Ne fonctionne pas car
Auth :: Utilisateur ( ) code> retourne null quoi que ce soit.
Quelle est la différence de comportement avec la réponse précédente?
"Il semble que si vous appelez $ auth-> utilisateur () dans la méthode de démarrage () (à l'intérieur d'un fournisseur de services) et dd (), il retournera NULL. Mais si vous utilisez une fermeture, vous devez Dites 'usage ($ auth)' avant la fermeture si la variable que vous souhaitez utiliser n'est pas dans la portée. " LARACASTS. com / discussion / canaux / généralités-discussions / ...
Votre exemple précédent utilisait la façade auth-auth-auth Code> qui devrait fonctionner aussi, sans injecter la garde. La clé est appelée
auth () -> utilisateur () code> ou
auth :: utilisateur () code> à l'intérieur du rappel d'un compositeur de vue. Le rappel est exécuté à une étape ultérieure, lorsque la vue est rendue et que l'utilisateur est ainsi disponible.