Heim  >  Artikel  >  Backend-Entwicklung  >  Über die globale Datenverarbeitung von Laravel

Über die globale Datenverarbeitung von Laravel

WBOY
WBOYOriginal
2016-09-08 08:43:501581Durchsuche

In Laravel verarbeiten wir möglicherweise Authentifizierungsinformationen über Middleware oder entwerfen eine Geschäftslogikverarbeitung

Wo sollen diese Daten nach der Verarbeitung in der Middleware gespeichert werden?
Zum Beispiel kann ein Objekt wie userObject oder nur eine nachfolgende Logik (Serviceschicht, Modellschicht, Ansichtsschicht) verwendet werden.
Wo sollen die in der Middleware erfassten und verarbeiteten Daten abgelegt werden (in einer Anfrage)

Wenn Sie kein Framework verwenden, wird die Verwendung globaler Variablen in MVC normalerweise nicht empfohlen

Ich weiß, dass es im Sitzungs-App-Container gespeichert werden kann, aber es scheint nicht die beste Lösung zu sein.

Antwortinhalt:

In Laravel verarbeiten wir möglicherweise Authentifizierungsinformationen über Middleware oder entwerfen eine Geschäftslogikverarbeitung

Wo sollen diese Daten nach der Verarbeitung in der Middleware gespeichert werden?
Zum Beispiel kann ein Objekt wie userObject oder nur eine nachfolgende Logik (Serviceschicht, Modellschicht, Ansichtsschicht) verwendet werden.
Wo sollen die in der Middleware erfassten und verarbeiteten Daten abgelegt werden (in einer Anfrage)

Wenn Sie kein Framework verwenden, wird die Verwendung globaler Variablen in MVC normalerweise nicht empfohlen

Ich weiß, dass es im Sitzungs-App-Container gespeichert werden kann, aber es scheint nicht die beste Lösung zu sein.

Middleware ist nur eine Pipeline, die zum Filtern von Anfragen/Antworten verwendet wird. Wenn die Daten in der Datenbank gespeichert werden sollen, verwenden Sie Eloquent oder verwenden Sie direkt die DB-Fassade. Wenn die Daten in der Datenbank gespeichert werden sollen, speichern Sie die Sitzung.

Existiert im Speicher. Wenn Sie beispielsweise für den aktuellen Benutzer Auth::user oder einen anderen Code aufrufen, der sich auf den aktuell authentifizierten Benutzer bezieht, wird möglicherweise das entsprechende UserModel zum Abrufen des Benutzerobjekts ausgelöst. Wenn es in dieser Anfrage nicht generiert wurde, wird es abgerufen aus der Datenbank oder dem Cache wird es immer im Speicher dieser Anfrage vorhanden sein.
Alle anderen Variablen, Anbieter, Bindungen, Abhängigkeitsinjektionen, Aliase usw. basieren alle auf dieser Logik. Und es verfügt über eine sehr flexible Lademethode zur Verbesserung der Leistung. Wie Routing, Konfigurations-Caching und -Laden, wie z. B. Zurückstellen.

Dieses Set basiert auf einem Kernstück von Laravel: Container. In den offiziellen Dokumenten wird von Anfang an auf diese Konzepte eingegangen. Das Dokument finden Sie unter Kernkonzepte

Im anpassbaren Bootstrap-Startvorgang von Laravel besteht der erste Schritt normalerweise darin, die Anwendung zu laden, bei der es sich um einen großen Container handelt. Sie können den Datenladestatus überall in der aktuellen App einsehen dd(app()).

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn