Flux d'exécution

Processus de démarrage

Après avoir exécuté php start.php start, le flux d'exécution est le suivant :

  1. Chargement des configurations dans le dossier config/
  2. Configuration des paramètres relatifs à Worker tels que pid_file, stdout_file, log_file, max_package_size, etc.
  3. Création du processus webman et écoute du port (par défaut 8787)
  4. Création de processus personnalisés selon la configuration
  5. Une fois les processus webman et personnalisés démarrés, la logique suivante est exécutée (tout cela se déroule dans onWorkerStart) :
    ① Chargement des fichiers définis dans config/autoload.php, tels que app/functions.php
    ② Chargement des middlewares définis dans config/middleware.php (y compris config/plugin/*/*/middleware.php)
    ③ Exécution de la méthode start des classes définies dans config/bootstrap.php (y compris config/plugin/*/*/bootstrap.php), utilisée pour initialiser certains modules, comme la connexion à la base de données de Laravel
    ④ Chargement des routes définies dans config/route.php (y compris config/plugin/*/*/route.php)

Flux de traitement des requêtes

  1. Vérifier si l'URL de la requête correspond à un fichier statique sous public. Si oui, retourner le fichier (terminer la requête) ; sinon, passer à l'étape 2.
  2. Déterminer si l'URL correspond à une route. Si aucune correspondance, passer à l'étape 3 ; si correspondance, passer à l'étape 4.
  3. Vérifier si la route par défaut est désactivée. Si oui, retourner 404 (terminer la requête) ; sinon, passer à l'étape 4.
  4. Trouver le middleware correspondant au contrôleur de la requête, exécuter les opérations préliminaires des middlewares dans l'ordre (phase de requête du modèle d'oignon), exécuter la logique métier du contrôleur, puis exécuter les opérations postérieures des middlewares (phase de réponse du modèle d'oignon), la requête se termine. (Référez-vous au modèle d'oignon des middlewares)