2016-07-08 14 views
0

Der Controller empfängt Daten von der Abfrage von einer externen Ressource. Als Antwort gibt es ein Objekt mit einem Feld page. Wie und wo kann ich das Ergebnis für die gesamte Sitzung des Clients speichern?Unterstützt Laravel Variablen dauerhaft?

Zum Beispiel wird in Objective C ein Modell mit Singleton-Methode verwendet.

+2

Laravel PHP ist. das ist alles. Wenn Sie Daten in PHP beibehalten möchten, müssen Sie eine Sitzung von einer Art verwenden. Ansonsten ist alles zerstört/verloren, wenn das Skript beendet wird. –

+1

Was meinst du mit "dauerhaft"? Für persistente Daten müssen Sie sie in einer Datenbank oder Ihrer Konfiguration speichern. Oder Sie speichern es in Laravels Session-Objekt für ** pro Session ** gespeicherte Variablen. Zum Beispiel, 'session() -> set ('my-key', 'mein-Wert')', dann holen Sie es in Ihrer Anwendung mit 'session() -> get ('my-key') ' –

+0

Ich meine um Daten von der Anfrage während der Sitzung Benutzer wie statische Variable zu speichern – Huligan

Antwort

3

Web ist ein Anfrage-Antwort-Zyklus. Dies bedeutet, dass die Variable nur über eine Anfrage verfügbar ist. Um Daten während einer Sitzung (über Anfragen hinweg) zu erhalten, sollten Sie innerhalb dieser Sitzung speichern.

können Sie Session-Variablen verwenden:

// save a session value 
$request->session()->put('key', 'value'); 

// retrieve a session value from a request 
$value = $request->session()->get('key'); 

// or if not in a controller with no access to the `$request` object 
$value = session('key'); 

https://laravel.com/docs/5.2/session#basic-usage

+0

Sie bieten mir Sitzungen zu verwenden? Aber was ist mit Singlton? – Huligan

+1

Ein Singleton bleibt während einer Sitzung nicht bestehen (eine Sitzung besteht aus mehreren Anfragen). Singleton-Daten werden im Speicher gespeichert. Sobald eine Antwort an den Client zurückgegeben wird, wird der Speicher für diese Anforderung als Garbage Collected erfasst. Um über mehrere Anfragen hinweg bestehen zu können, muss sie außerhalb des Speichers gespeichert werden (Sitzungen können dafür verwendet werden). – swatkins

+1

Es funktioniert in Objective-C, weil Sie dort nicht mit dem Anfrage/Antwort-Zyklus arbeiten. Das Singleton wird in Objective-C beibehalten. – swatkins