Como integrar com outros frameworks

Pergunta:

Como integrar com outros frameworks MVC (ThinkPHP, Yii, etc.)?

Resposta:

workerman-thinkphp

A integração com outros frameworks MVC é recomendada da maneira mostrada na imagem acima (usando ThinkPHP como exemplo):

  1. ThinkPHP e Workerman são dois sistemas independentes, implantados de forma independente (podem ser implantados em servidores diferentes), sem interferência entre si.

  2. ThinkPHP oferece páginas web via protocolo HTTP para renderização no navegador.

  3. O js das páginas fornecidas pelo ThinkPHP inicia uma conexão websocket, conectando ao Workerman.

  4. Após a conexão, envia um pacote de dados para o Workerman (incluindo o nome de usuário, senha ou algum token) para verificar a qual usuário a conexão websocket pertence.

  5. O Workerman só é chamado para enviar dados quando o ThinkPHP precisa enviar dados ao navegador.

  6. As demais solicitações continuam sendo tratadas conforme o método HTTP original do ThinkPHP.

Resumo:

Utilize o Workerman como um canal para enviar dados ao navegador, chamando a interface do Workerman apenas quando for necessário enviar dados ao navegador. Toda a lógica de negócios é realizada dentro do ThinkPHP.

Referência sobre como ThinkPHP chama a interface socket do Workerman para enviar dados veja a seção de perguntas frequentes - Enviando em outros projetos

O ThinkPHP já oferece suporte ao Workerman, consulte o manual do ThinkPHP5