Come integrare con altri framework
Domanda:
Come posso integrare workerman con altri framework MVC (come thinkPHP, Yii, ecc.)?
Risposta:
È consigliato integrare workerman con altri framework MVC come mostrato nell'immagine sopra (usando thinkPHP come esempio):
-
ThinkPHP e Workerman sono due sistemi indipendenti e possono essere distribuiti separatamente (anche su server diversi) senza interferire l'uno con l'altro.
-
ThinkPHP fornisce pagine web renderizzate nei browser utilizzando il protocollo HTTP.
-
Le pagine fornite da ThinkPHP possono stabilire una connessione websocket con Workerman utilizzando JavaScript.
-
Dopo la connessione, viene inviato un pacchetto di dati a Workerman (contenente nome utente, password o qualche token) per verificare a quale utente appartiene la connessione websocket.
-
Workerman viene chiamato solo quando ThinkPHP ha bisogno di inviare dati al browser tramite l'interfaccia socket.
-
Le altre richieste vengono comunque gestite nel modo normale dal framework ThinkPHP tramite HTTP.
In sintesi:
Workerman viene utilizzato come un canale per l'invio di dati al browser e viene chiamato solo quando è necessario inviare dati al browser. Tutta la logica di business viene gestita da ThinkPHP.
Per informazioni su come ThinkPHP chiama l'interfaccia socket di Workerman per inviare dati, fare riferimento alla sezione "Domande frequenti - Push in altri progetti" nel documento Qui.
ThinkPHP supporta ufficialmente workerman, consulta il manuale di ThinkPHP5