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 :
- Chargement des configurations dans le dossier
config/
- Configuration des paramètres relatifs à Worker tels que
pid_file
,stdout_file
,log_file
,max_package_size
, etc. - Création du processus webman et écoute du port (par défaut 8787)
- Création de processus personnalisés selon la configuration
- 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 dansconfig/autoload.php
, tels queapp/functions.php
② Chargement des middlewares définis dansconfig/middleware.php
(y comprisconfig/plugin/*/*/middleware.php
)
③ Exécution de la méthodestart
des classes définies dansconfig/bootstrap.php
(y comprisconfig/plugin/*/*/bootstrap.php
), utilisée pour initialiser certains modules, comme la connexion à la base de données de Laravel
④ Chargement des 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, retourner le fichier (terminer la requête) ; sinon, passer à l'étape 2. - Déterminer si l'URL correspond à une route. Si aucune correspondance, passer à l'étape 3 ; si correspondance, passer à l'étape 4.
- 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.
- 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)