Ausführungsablauf
Prozessstartablauf
Nach dem Ausführen von php start.php start
erfolgt der folgende Ablauf:
- Laden der Konfigurationen in config/
- Konfiguration der Arbeitskraftbezogenen Einstellungen wie
pid_file
,stdout_file
,log_file
,max_package_size
, usw. - Erstellung des Webman-Prozesses und Zuhören an einem Port (standardmäßig 8787)
- Erstellung eines benutzerdefinierten Prozesses entsprechend der Konfiguration
- Nach dem Start des Webman-Prozesses und des benutzerdefinierten Prozesses wird der folgende Logik ausgeführt (alles im onWorkerStart):
① Laden der Dateien, die inconfig/autoload.php
eingestellt sind, wie z.B.app/functions.php
② Laden von inconfig/middleware.php
(einschließlichconfig/plugin/*/*/middleware.php
) eingestellten Middlewares
③ Ausführung der "start"-Methode der inconfig/bootstrap.php
(einschließlichconfig/plugin/*/*/bootstrap.php
) eingestellten Klassen zur Initialisierung von Modulen, so zum Beispiel die Initialisierung der Laravel-Datenbankverbindung
④ Einlesen der inconfig/route.php
(einschließlichconfig/plugin/*/*/route.php
) definierten Routen
Behandlungsablauf von Anfragen
- Prüfung, ob die Anfrage-URL einer statischen Datei im public-Verzeichnis entspricht; falls ja, Rückgabe der Datei und Beendigung der Anfrage. Andernfalls, weiter mit 2.
- Überprüfung, ob die URL einer Route entspricht. Falls nicht, weiter mit 3. Falls ja, weiter mit 4.
- Prüfung, ob die Standardroute deaktiviert ist; falls ja, Rückgabe von 404 und Beendigung der Anfrage. Andernfalls, weiter mit 4.
- Suche nach den Middlewares des angefragten Controllers, Ausführung der Middleware-Voraktionen in Reihenfolge (Onion-Model im Anfragebereich), Ausführung der Geschäftslogik des Controllers, Ausführung der Middleware-Nachaktionen (Onion-Model im Antwortbereich) und Beendigung der Anfrage (Siehe auch das Middleware-Zwiebelmodell).