Depuis Laravel 5.3, une telle fonction ne peut plus être utilisée dans Controller (car Session n'a pas commencé à fonctionner)__construct()
方法中使用Auth::check()
和Auth::user()
(Vous pouvez vous référer à la documentation officielle dans la section Controller,
Mais cette méthode n'est pas adaptée à ce scénario)
if (Auth::check()) {
$user = Auth::user()
}
Le seul moyen paresseux à l'heure actuelle est la variable globale du contrôleur. J'ai cherché sur Google et j'ai découvert que quelqu'un avait déjà utilisé la méthode pour le faire, mais App::before()
cette méthode semble avoir été annulée dans la version 5.4 ?
Les éléments implémentés à l'aide de Config sont tous fragmentés. Cela ne convient évidemment pas ici..
Merci à @安正超 pour la solution fournie dans Laravel Chine : Comment obtenir l'utilisateur connecté dans le contrôleur Laravel 5.3+
Tout d'abord, la vérification des utilisateurs peut être entièrement contrôlée via un middleware, et il n'est pas approprié de la mettre dans le constructeur du contrôleur.
De plus,
Container
est une bonne chose. Cela peut non seulement sauvegarder des instances, mais aussi sauvegarder certaines variables globales ?Le middleware est votre meilleur choix pour la documentation du middleware Laravel