Como integrar com outros frameworks
Pergunta:
Como integrar com outros frameworks MVC (como thinkPHP, Yii, etc)?
Resposta:
É recomendado integrar com outros frameworks MVC da seguinte forma (usando ThinkPHP como exemplo):
-
ThinkPHP e Workerman são dois sistemas independentes, com implantações separadas (podem ser implantados em servidores diferentes) e não interferem um no outro.
-
ThinkPHP fornece páginas da web para renderização no navegador usando o protocolo HTTP.
-
As páginas fornecidas pelo ThinkPHP iniciam uma conexão websocket, conectando-se ao Workerman.
-
Após a conexão, envia-se um pacote de dados para o Workerman (incluindo nome de usuário, senha ou algum tipo de token) para validar a conexão websocket pertencente a qual usuário.
-
Somente quando o ThinkPHP precisa enviar dados para o navegador, é chamada a interface de socket do Workerman para enviar os dados.
-
As demais solicitações continuam sendo tratadas no ThinkPHP usando o método HTTP original.
Conclusão:
O Workerman é usado como um canal para enviar dados para o navegador, sendo a interface do Workerman chamada apenas quando é necessário enviar dados para o navegador. A lógica de negócios é totalmente concluída no ThinkPHP.
Para saber como o ThinkPHP chama a interface de socket do Workerman para enviar dados, consulte a seção FAQ - Pushing in Other Project.
O ThinkPHP já suporta oficialmente o workerman, consulte o manual do ThinkPHP5.