Heim  >  Artikel  >  PHP-Framework  >  Was sind die Phasen des Lebenszyklus des Laravel-Frameworks? Einführung in die vier Phasen des Laravel-Lebenszyklus

Was sind die Phasen des Lebenszyklus des Laravel-Frameworks? Einführung in die vier Phasen des Laravel-Lebenszyklus

不言
不言Original
2018-08-01 12:01:354071Durchsuche

Wir alle wissen, dass LaravelDer gesamte Ausführungsprozess von der Anfrage bis zur Antwort kann hauptsächlich in vier Phasen unterteilt werden: Phase der Vorbereitung des Programmstarts, Phase der Anforderungsinstanziierung, Phase der Anforderungsverarbeitung, Antwortversand und Programmbeendigungsphase; Was ist also in jeder Phase enthalten? Werfen wir einen kurzen Blick auf den gesamten Lebenszyklus des Laravel-Frameworks von der Anfrage bis zur Antwort.

Vorbereitungsphase für den Programmstart

Service-Container-Instanziierung

Die Instanziierung und Basisregistrierung des Servicecontainers umfasst die Registrierung des Servicecontainers selbst, die Registrierung des Basisdienstanbieters, die Registrierung des Kernkategorienamens und die Registrierung des Basispfads der Anwendung. 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: Instanziierung der Kernel-Klasse in index.php:

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

Instanziierungsphase anfordern

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

AnforderungsverarbeitungsphaseIn der Anforderungsverarbeitungsphase wird zunächst die Umgebung für die Anforderungsverarbeitung vorbereitet, einschließlich Laden der Umgebung, Registrierung des Dienstanbieters usw. und dann Der Prozess der Verarbeitung von Anforderungsinstanzen durch Middleware und der Verteilungssteuerung durch Routing und Controller, sodass unterschiedliche Anforderungen durch entsprechende Handler verarbeitet und Antworten generiert werden.

Antwortversand und Programmbeendigungsphase

Antwortversand

Laravels Antwortverarbeitungsklasse ist

Klasse, die unterste Ebene dieser Klasse 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.

IlluminateHttpResponse

Programmbeendigung

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

Das Obige ist der gesamte Inhalt dieses Artikels. Weitere Laravel-Inhalte finden Sie im Tutorial

Laravel Framework Erste Schritte

.
Empfohlene verwandte Artikel:

Bildübersicht über den PHP-Lebenszyklus, PHP-Lebenszyklus_PHP-Tutorial


[ Laravel 5.2 Dokumentation] Architektur – Lebenszyklus einer Anfrage


Das obige ist der detaillierte Inhalt vonWas sind die Phasen des Lebenszyklus des Laravel-Frameworks? Einführung in die vier Phasen des Laravel-Lebenszyklus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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