Heim > PHP-Framework > Laravel > Laravel-Anfrage-zu-Antwort-Lebenszyklus

Laravel-Anfrage-zu-Antwort-Lebenszyklus

藏色散人
Freigeben: 2019-11-05 13:51:36
nach vorne
2314 Leute haben es durchsucht

Der gesamte Ausführungsprozess von der Laravel-Anfrage bis zur Antwort kann in vier Phasen zusammengefasst werden, nämlich die Phase der Vorbereitung des Programmstarts, die Phase der Anforderungsinstanziierung, die Phase der Anforderungsverarbeitung, das Senden der Antwort und die Phase der Programmbeendigung.

Vorbereitungsphase für den Programmstart

Service-Container-Instanziierung

Instanziierung und grundlegende Registrierung des Service-Containers, einschließlich der Dienste Der Container selbst wird registriert, der Basisdienstanbieter wird registriert, der Kernkategoriename wird registriert und der Basispfad der Anwendung wird registriert. Der registrierte Dienst ist nur ein bestimmter Klassenname, und das Objekt wird über den Reflexionsmechanismus instanziiert, und die Abhängigkeiten im Konstruktor werden automatisch über den Reflexionsmechanismus aufgelöst.

Kernklasseninstanziierung

Kernklasseninstanziierung ist ein automatisches Instanziierungsobjekt des Dienstcontainers, das durch Registrieren des Dienstes mit dem Kernklassennamen nach der Instanziierung des Dienstcontainers erhalten wird. Beispiel: Kernel-Klasseninstanziierung in index.php:

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
Nach dem Login kopieren

Request-Instanziierungsphase

Eine Anfrage ist eine vom Client gesendete Anfragenachricht, einschließlich der Anfragezeile „Request“. Header und Anforderungsentität. Laravel klassifiziert und speichert es im Instanzobjekt der IlluminateHttpRequest-Klasse, was bedeutet, dass die Anfrage in ein Instanzobjekt umgewandelt wird. Die Erstellung der Anforderungsinstanz wird über die statische Methode „capture()“ der IlluminateHttpRequest-Klasse abgeschlossen, d die Symfony-Anfrageinstanz von. Symfony instanziiert Anfragen über die globalen Arrays $_GET, $_POST, $_COOKIE, $_FILE und $_SERVER von PHP als Parameter.

Anforderungsverarbeitungsphase

Die Anforderungsverarbeitungsphase bereitet zunächst die Umgebung für die Anforderungsverarbeitung vor, einschließlich Laden der Umgebung, Registrierung des Dienstanbieters usw., und übergibt dann die Anforderungsinstanz durch die Middleware Verarbeitungs- und Verteilungssteuerung durch Routing und Controller, der Prozess der Verarbeitung verschiedener Anfragen durch entsprechende Handler und der Generierung von Antworten.

Antwortsende- und Programmbeendigungsphase

Antwortsende

Laravels Antwortverarbeitungsklasse ist die IlluminateHttpResponse-Klasse, die unten Die Schicht befindet sich auch in der Response-Klasse von Symfony. Das Senden der Antwort umfasst zwei Teile: das Senden der Antwort-Header-Informationen und das Senden des Antworttextinhalts.

Programmbeendigung

In Laravel schließt das Beenden des Programms hauptsächlich den Aufruf der Beendigungs-Middleware ab.

Das obige ist der detaillierte Inhalt vonLaravel-Anfrage-zu-Antwort-Lebenszyklus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
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
Aktuelle Ausgaben
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage