Heim  >  Fragen und Antworten  >  Hauptteil

php - Laravel 5.4 Wie verwende ich gemeinsam genutzte Variablen als „globale Variablen“ in Controllern?

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)

Ich bin zu faul, in jeder Funktion zu schreiben

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?

Weiß jemand, wie man das in Laravel 5.4 implementiert?

Dinge, die mit Config implementiert wurden, sind alle kaputt. Das ist hier offensichtlich nicht geeignet.

ringa_leeringa_lee2716 Tage vor1453

Antworte allen(3)Ich werde antworten

  • ringa_lee

    ringa_lee2017-06-05 11:11:17

    感谢@安正超 在Laravel China提供的解决方法:Laravel 5.3+ 控制器里如何获取登录用户

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-06-05 11:11:17

    首先,用户校验完全可以通过中间件去控制,放在控制器的构造函数里并不合适。

    另外,Container是个好东西,不光可以存实例,存些全局变量又未尝不可呢?

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-05 11:11:17

    中间件是你最好的选择laravel中间件文档

    Antwort
    0
  • StornierenAntwort