Setzen Sie die Sitzungsvariable in Laravel

7

Ich möchte eine Variable in der Sitzung mit Laravel auf diese Weise setzen

%Vor%

Aber das Problem ist, dass ich nicht weiß, wo ich diesen Code einfügen soll, weil ich ihn einmal einstellen möchte (wenn der Gast die Homepage oder eine andere Seite besucht)? Der Grundgedanke ist, eine globale Variable zu verwenden, um es in allen Anwendungscontrollern zu verwenden, hörte ich etwas in Bezug auf Konfigurationsvariablen, aber ich bin mir nicht sicher, ob es eine gute Idee ist, Konfigurationsvariablen oder nur die Sitzung zu verwenden? Danke

    
user3429578 09.02.2015, 19:33
quelle

4 Antworten

28

Die richtige Syntax dafür ist ...

%Vor%

Um die Variable zu erhalten, verwenden Sie ...

%Vor%

Wenn Sie es einmal einstellen müssen, würde ich herausfinden, wann genau Sie es einstellen möchten und Ereignisse verwenden, um es zu tun. Zum Beispiel, wenn Sie es einrichten möchten, wenn sich jemand anmeldet, würden Sie ... verwenden

%Vor%     
user3158900 09.02.2015, 19:45
quelle
13

Ich denke, Ihre Frage kann letztlich auf diesen Punkt reduziert werden:

  

Wo kann ich einen langlebigen Wert festlegen, auf den in meiner Anwendung global zugegriffen werden kann?

Die offensichtliche Antwort ist, dass es darauf ankommt. Worauf es ankommt, sind ein paar Faktoren:

  • Wird der Wert jemals anders sein, oder wird es für alle gleich sein?
  • Wie lange genau ist langlebig? (Forever? A Day? Ein Browsing 'Sitzung'?)

Konfiguration

Wenn der Wert für alle gleich ist und sich selten ändert, ist der beste Platz, um es wahrscheinlich zu setzen, in einer Konfigurationsdatei irgendwo unter app/config , z.B. app/config/companyname.php :

%Vor%

Sie können auf diesen Wert von überall in Ihrer Anwendung über Config::get('companyname.somevalue')

zugreifen

Sitzung

Wenn der Wert, den Sie speichern möchten, anders für jeden Benutzer ist, ist der logischste Platz, um ihn zu platzieren, in Session . Darauf beziehen Sie sich in Ihrer Frage, aber Sie verwenden falsche Syntax. Die richtige Syntax zum Speichern einer Variablen in Session lautet:

%Vor%

Die richtige Syntax, um es später wieder herauszuholen, ist:

%Vor%

Bis zu wenn diese Operationen ausgeführt werden, liegt es an Ihnen. Ich würde wahrscheinlich einen Routenfilter wählen, wenn er auf Laravel 4.x oder Middleware wenn Sie Laravel 5 verwenden. Unten sehen Sie ein Beispiel für die Verwendung eines Routenfilters, der eine andere Klasse nutzt, um den Wert tatsächlich zu ermitteln:

%Vor%     
Jeff Lambert 09.02.2015 19:59
quelle
2

in Laravel 5.4

Verwenden Sie diese Methode:

%Vor%     
Grandong 16.03.2017 19:14
quelle
0

In Laravel 5.6 müssen Sie es als

festlegen %Vor%

Zum Abrufen ist es so einfach wie

%Vor%     
levis 13.03.2018 10:56
quelle