Seit Laravel 5.3 kann eine solche Funktion nicht im Controller verwendet werden (da die Sitzung noch nicht funktioniert)__construct()
方法中使用Auth::check()
和Auth::user()
(Sie können die offizielle Dokumentation im Abschnitt Controller konsultieren,
Aber diese Methode ist für dieses Szenario nicht geeignet)
if (Auth::check()) {
$user = Auth::user()
}
Der derzeit einzig faule Weg ist die globale Variable Controller. Ich habe bei Google gesucht und festgestellt, dass jemand zuvor die -Methode verwendet hat, aber App::before()
diese Methode scheint in 5.4 abgebrochen worden zu sein?
Dinge, die mit Config implementiert wurden, sind alle kaputt. Das ist hier offensichtlich nicht geeignet.
感谢@安正超 在Laravel China提供的解决方法:Laravel 5.3+ 控制器里如何获取登录用户
首先,用户校验完全可以通过中间件去控制,放在控制器的构造函数里并不合适。
另外,
Container
是个好东西,不光可以存实例,存些全局变量又未尝不可呢?中间件是你最好的选择laravel中间件文档