Ausführungsprozess

Prozessstartprozess

Nach dem Ausführen von php start.php start verläuft der Prozess wie folgt:

  1. Laden der Konfiguration aus dem Verzeichnis config/
  2. Einstellen der relevanten Worker-Konfigurationen wie pid_file, stdout_file, log_file, max_package_size usw.
  3. Erstellen des webman-Prozesses und Überwachen des Ports (Standard ist 8787)
  4. Erstellen benutzerdefinierter Prozesse gemäß der Konfiguration
  5. Nach dem Start des webman-Prozesses und der benutzerdefinierten Prozesse wird die folgende Logik ausgeführt (alles wird in onWorkerStart ausgeführt):
    ① Laden der in config/autoload.php festgelegten Dateien, wie app/functions.php
    ② Laden der in config/middleware.php (einschließlich config/plugin/*/*/middleware.php) festgelegten Middleware
    ③ Ausführen der start-Methode der in config/bootstrap.php (einschließlich config/plugin/*/*/bootstrap.php) definierten Klassen, um einige Module zu initialisieren, z. B. die Verbindung zur Laravel-Datenbank
    ④ Laden der in config/route.php (einschließlich config/plugin/*/*/route.php) definierten Routen

Anfrageverarbeitungsprozess

  1. Ü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.
  2. Überprüfen, ob die URL eine bestimmte Route trifft. Keine Übereinstimmung führt zu 3, Treffer zu 4.
  3. Überprüfen, ob die Standardroute deaktiviert ist. Wenn ja, wird 404 zurückgegeben (Anfrage beendet), andernfalls weiter zu 4.
  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)