Processo di avvio
Il processo di avvio dopo l'esecuzione di php start.php start è il seguente:
- Caricamento delle configurazioni nella directory config/
- Impostazione delle configurazioni relative a Worker come
pid_file
,stdout_file
,log_file
,max_package_size
, etc. - Creazione del processo webman e ascolto della porta (predefinita 8787)
- Creazione di processi personalizzati in base alle configurazioni
- Dopo l'avvio dei processi webman e personalizzati, viene eseguita la logica seguente (tutto eseguito in onWorkerStart):
① Caricamento dei file impostati inconfig/autoload.php
, comeapp/functions.php
② Caricamento dei middleware impostati inconfig/middleware.php
(inclusi i fileconfig/plugin/*/*/middleware.php
)
③ Esecuzione della classe start definita inconfig/bootstrap.php
(inclusi i fileconfig/plugin/*/*/bootstrap.php
) per inizializzare alcuni moduli, come l'inizializzazione della connessione al database Laravel
④ Caricamento delle rotte definite inconfig/route.php
(inclusi i fileconfig/plugin/*/*/route.php
)
Processo di gestione delle richieste
- Verifica se l'URL della richiesta corrisponde a un file statico nella directory public; in caso affermativo, restituiscilo (fine della richiesta). In caso contrario, procedi con il punto 2.
- Verifica se l'URL corrisponde a una delle rotte definite; se non corrisponde, passa al punto 3. Se corrisponde, passa al punto 4.
- Verifica se le rotte predefinite sono disabilitate; in caso affermativo, restituisci il codice 404 (fine della richiesta). In caso contrario, passa al punto 4.
- Trova i middleware corrispondenti al controller richiesto e esegui le operazioni preliminari del middleware in ordine (fase di richiesta del modello a strati di cipolla), esegui la logica del business del controller, esegui le operazioni successive al middleware (fase di risposta del modello a strati di cipolla) e termina la richiesta. (Vedi il modello a strati di cipolla dei middleware)