Ausführungsprozess
Prozessstartprozess
Nach dem Ausführen von php start.php start
verläuft der Prozess wie folgt:
- Laden der Konfiguration aus dem Verzeichnis config/
- Einstellen der relevanten Worker-Konfigurationen wie
pid_file
,stdout_file
,log_file
,max_package_size
usw. - Erstellen des webman-Prozesses und Überwachen des Ports (Standard ist 8787)
- Erstellen benutzerdefinierter Prozesse gemäß der Konfiguration
- Nach dem Start des webman-Prozesses und der benutzerdefinierten Prozesse wird die folgende Logik ausgeführt (alles wird in onWorkerStart ausgeführt):
① Laden der inconfig/autoload.php
festgelegten Dateien, wieapp/functions.php
② Laden der inconfig/middleware.php
(einschließlichconfig/plugin/*/*/middleware.php
) festgelegten Middleware
③ Ausführen der start-Methode der inconfig/bootstrap.php
(einschließlichconfig/plugin/*/*/bootstrap.php
) definierten Klassen, um einige Module zu initialisieren, z. B. die Verbindung zur Laravel-Datenbank
④ Laden der inconfig/route.php
(einschließlichconfig/plugin/*/*/route.php
) definierten Routen
Anfrageverarbeitungsprozess
- Überprüfen, ob die Anfrage-URL einer statischen Datei im public-Verzeichnis entspricht. Wenn ja, wird die Datei zurückgegeben (Anfrage beendet), andernfalls weiter zu 2.
- Überprüfen, ob die URL eine bestimmte Route trifft. Keine Übereinstimmung führt zu 3, Treffer zu 4.
- Überprüfen, ob die Standardroute deaktiviert ist. Wenn ja, wird 404 zurückgegeben (Anfrage beendet), andernfalls weiter zu 4.
- Finden der Middleware des entsprechenden Controllers für die Anfrage, Ausführen der Middleware-Vorverarbeitung in Reihenfolge (Onion-Modell Anfragephase), Ausführen der Geschäftslogik des Controllers, Ausführen der Middleware-Nachverarbeitung (Onion-Modell Antwortphase), Anfrage endet. (Siehe auch Middleware Onion-Modell)