Cómo Integrarse con Otros Marcos

Pregunta:

¿Cómo integrarse con otros marcos MVC (ThinkPHP, Yii, etc.)?

Respuesta:

workerman-thinkphp

La forma recomendada de combinar con otros marcos MVC es la ilustrada en la imagen anterior (Tomando ThinkPHP como ejemplo):

  1. ThinkPHP y Workerman son dos sistemas independientes, que se despliegan por separado (pueden estar en diferentes servidores), sin interferirse entre sí.

  2. ThinkPHP proporciona páginas web utilizando el protocolo HTTP para su renderizado y visualización en el navegador.

  3. El js de la página proporcionada por ThinkPHP inicia una conexión websocket, conectándose a Workerman.

  4. Una vez conectada, se envía un paquete de datos a Workerman (que incluye el nombre de usuario, la contraseña o algún tipo de cadena token) para verificar a qué usuario pertenece la conexión websocket.

  5. Solo cuando ThinkPHP necesita enviar datos al navegador, se llama a la interfaz socket de Workerman para realizar el envío.

  6. El resto de las solicitudes aún se manejan según el método HTTP original de ThinkPHP.

Resumen:

Considera a Workerman como un canal para enviar datos al navegador, llamando a las interfaces de Workerman únicamente cuando se necesite enviar datos al navegador. La lógica comercial se completa completamente en ThinkPHP.

Para saber cómo ThinkPHP llama a la interfaz socket de Workerman para enviar datos, consulta la sección Ver Preguntas Frecuentes - Enviar Desde Otros Proyectos.

ThinkPHP ya ha agregado soporte para Workerman, consulta el Manual de ThinkPHP5