Heim > Artikel > Backend-Entwicklung > Welche Middleware wird zum Veröffentlichen einer PHP-Website verwendet?
Wie der Name schon sagt, fängt die Middleware Anforderungsdaten ab und verarbeitet sie, überprüft Daten und bestimmt, ob der Zugriff auf die nächste Middleware nach der logischen Verarbeitung zwischen Anforderungen und Antworten zugelassen werden soll.
Middleware ist in Präfix-Middleware und Post-End-Middleware unterteilt; sie kann für die Berechtigungsauthentifizierung, Protokollierung usw. verwendet werden. (empfohlenes Lernen: PHP-Programmierung vom Anfänger bis zum Meister)
Middleware bietet einen praktischen Mechanismus zum Filtern von HTTP-Anfragen, die in die Anwendung gelangen. Laravel verfügt beispielsweise über eine integrierte Middleware zur Überprüfung der Benutzerauthentifizierung. Wenn der Benutzer die Identitätsauthentifizierung nicht besteht, leitet die Middleware den Benutzer zur Anmeldeschnittstelle weiter. Wenn der Benutzer jedoch authentifiziert ist, lässt die Middleware die Anfrage weiter in die Anwendung zu.
Laravel stellt automatisch die VerifyCsrfToken-Middleware für alle Routing-Anwendungen bereit. Wenn die HTTP-Anforderung in die Anwendung gelangt und die VerifyCsrfToken-Middleware durchläuft, wird das Token überprüft, um eine standortübergreifende Anforderungsfälschung und die Antwort zu verhindern werden hinzugefügt, bevor die HTTP-Antwort die Anwendung verlässt. (Ab Laravel 5.5 wird CSRF-Middleware nur noch automatisch auf das Webrouting angewendet.)
Natürlich können Sie neben der Identitätsauthentifizierung auch andere Middleware schreiben, um verschiedene Aufgaben auszuführen. Beispielsweise kann die CORS-Middleware für das Hinzufügen geeigneter Header-Informationen zu allen Antworten verantwortlich sein, die die Anwendung verlassen. Die Protokollierungs-Middleware kann alle in der Anwendung eingehenden Anforderungen protokollieren.
Warum brauchen Sie Middleware?
1. Szenarien, in denen keine Middleware erforderlich ist
Wenn wir ein relativ kleines Outsourcing-Projekt entwickeln, ist unsere erste Überlegung, wie wir das Projekt schnell abschließen und liefern können Anstatt zukünftige Upgrades und Erweiterungen in Betracht zu ziehen und die Geschäftslogik nicht sehr kompliziert ist, können wir den gesamten Geschäftscode mit einem Controller (Controller) vervollständigen, was kein Problem darstellt. Wenn wir jedoch eine Geschäftslogik erstellen, ist dies komplizierter Was ist mit dem Projekt?
2. Szenarien, die Middleware erfordern
Wenn die Geschäftslogik komplex ist, ist es nicht angebracht, den gesamten Geschäftscode in den Controller zu schreiben, da die Steuerung der Server ist wird sehr aufgebläht und schwer zu warten sein. Zu diesem Zeitpunkt müssen wir die Struktur schichten (Service-Hilfscontroller, Aktionen und Repository-Hilfsmodell, die ich in einem anderen Artikel erwähnen werde) und Cookie-Operationen/Benutzerberechtigungsüberprüfung und andere Operationen schreiben . in ihre jeweilige Middleware, so dass die Wartbarkeit der von uns geschriebenen Projekte erheblich verbessert wird.
Ausführungsreihenfolge der Middleware?
1. Warum hat Middleware eine Ausführungssequenz?
Hypothetisches Szenario: Der Benutzer löscht einen Kommentar Nachdem der Kommentar erfolgreich gelöscht wurde, muss er im Betriebsprotokoll dieses Unternehmens aufgezeichnet werden.
Ausführungsprozess (nur der Kernprozess wird berücksichtigt): Eintrag (index.php) > Daten aufzeichnen (Middleware 2) > log (Middleware 3) >
Warum gibt es oben drei Middlewares statt zwei Middlewares? Die Antwort ist, dass die Aufzeichnung allgemeiner Betriebsprotokolle nicht durch eine Middleware abgeschlossen werden kann (Sie können versuchen, darüber nachzudenken, wie Sie eine Middleware implementieren, die jeder Operation separat entspricht).
Überprüfen Sie, ob der Benutzer angemeldet ist: Middleware 1; Geschäftsbetriebsprotokoll aufzeichnen: Middleware 2 + Middleware 3; wenn diese drei Middlewares die Ausführungsreihenfolge nicht unterscheiden, kann die Anforderung nicht erfüllt werden, weshalb Middleware wird einen Hinrichtungsbefehl haben.
2. Pre-Middleware und Post-Middleware
Hier ist, was Pre-Middleware und Post-Middleware sind.
Prä-Middleware: Middleware, die ausgeführt wird, bevor die Anwendung die Geschäftsanforderung verarbeitet (Controller), wie z. B. Middleware 1 und Middleware 2 im obigen Beispiel.
Post-Middleware: Middleware, die ausgeführt wird, nachdem die Anwendung die Geschäftsanforderung verarbeitet hat (Controller), entsprechend Middleware 3.
Das obige ist der detaillierte Inhalt vonWelche Middleware wird zum Veröffentlichen einer PHP-Website verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!