다른 프레임워크와 통합하기

질문:

다른 mvc 프레임워크(thinkPHP, Yii 등)와 어떻게 통합할 수 있나요?

대답:

workerman-thinkphp

다른 mvc 프레임워크와 결합하는 추천 방법은 위 그림과 같습니다(ThinkPHP를 예로 들면):

  1. ThinkPHP와 Workerman은 두 개의 독립적인 시스템으로, 독립적으로 배포됩니다(서버가 다를 수 있음) 서로 간섭하지 않습니다.

  2. ThinkPHP는 HTTP 프로토콜을 통해 웹 페이지를 브라우저에 렌더링 및 표시합니다.

  3. ThinkPHP에서 제공하는 페이지의 js는 websocket 연결을 시작하며, Workerman에 연결합니다.

  4. 연결 후 Workerman에 데이터 패킷(사용자 이름과 비밀번호 또는 특정 token 문자열 포함)을 보내어 websocket 연결이 어떤 사용자에 속하는지 검증합니다.

  5. ThinkPHP가 브라우저로 데이터를 푸시해야 할 때만 Workerman의 socket 인터페이스를 호출하여 데이터를 푸시합니다.

  6. 나머지 요청은 여전히 원래의 ThinkPHP HTTP 방식으로 호출하여 처리합니다.

요약:

Workerman을 브라우저에 데이터를 푸시할 수 있는 채널로 사용하고, 브라우저에 데이터를 푸시해야 할 때만 Workerman 인터페이스를 호출하여 푸시를 완료합니다. 비즈니스 로직은 모두 ThinkPHP에서 완료됩니다.

ThinkPHP가 Workerman socket 인터페이스를 호출하여 데이터를 푸시하는 방법은 자주 묻는 질문 - 다른 프로젝트에서 푸시하기 섹션을 참조하십시오.

ThinkPHP 공식 문서에서 이미 Workerman을 지원하고 있으니, ThinkPHP5 매뉴얼을 참고하세요.