Heim > Artikel > Backend-Entwicklung > Über die globale Datenverarbeitung von Laravel
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.
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())
.