Flux d'exécution
Flux de démarrage du processus
Après l'exécution de php start.php start, le flux d'exécution est le suivant :
- Charger les configurations sous config/
- Configurer le Worker avec des options comme
pid_file,stdout_file,log_file,max_package_size, etc. - Créer le processus webman et écouter sur le port (par défaut : 8787)
- Créer les processus personnalisés selon la configuration
- Après le démarrage du processus webman et des processus personnalisés, la logique suivante est exécutée (tout dans
onWorkerStart) :
① Charger les fichiers définis dansconfig/autoload.php, commeapp/functions.php
② Charger les middlewares définis dansconfig/middleware.php(y comprisconfig/plugin/*/*/middleware.php)
③ Exécuter la méthodestartdes classes définies dansconfig/bootstrap.php(y comprisconfig/plugin/*/*/bootstrap.php) pour initialiser des modules, comme la connexion à la base de données Laravel
④ Charger les routes définies dansconfig/route.php(y comprisconfig/plugin/*/*/route.php)
Flux de traitement des requêtes
- Vérifier si l'URL de la requête correspond à un fichier statique sous public. Si oui, renvoyer le fichier (fin de la requête). Sinon, passer à l'étape 2.
- Déterminer si l'URL correspond à une route. Si non, passer à l'étape 3 ; si oui, passer à l'étape 4.
- Vérifier si la route par défaut est désactivée. Si oui, renvoyer 404 (fin de la requête). Sinon, passer à l'étape 4.
- Trouver les middlewares du contrôleur correspondant à la requête, exécuter les opérations préalables des middlewares dans l'ordre (phase requête du modèle oignon), exécuter la logique métier du contrôleur, exécuter les opérations ultérieures des middlewares (phase réponse du modèle oignon) et terminer la requête. (Voir le modèle oignon des middlewares)