他のフレームワークとの統合方法
質問:
他の MVC フレームワーク(thinkPHP、Yii など)とどのように統合しますか?
回答:

他の MVC フレームワークと統合することを推奨する方法は、上の図の通りです(ThinkPHP の例):
-
ThinkPHP と Workerman は二つの独立したシステムであり、独立してデプロイ(異なるサーバーにデプロイ可能)され、互いに干渉しません。
-
ThinkPHP は HTTP プロトコルを通じてウェブページを提供し、ブラウザでレンダリングして表示します。
-
ThinkPHP が提供するページの JS が WebSocket 接続を開始し、Workerman に接続します。
-
接続後、Workerman にデータパッケージ(ユーザー名、パスワード、または特定のトークン文字列を含む)を送信して、WebSocket 接続がどのユーザーに属するかを検証します。
-
ThinkPHP がブラウザにデータをプッシュする必要がある場合のみ、Workerman のソケットインターフェースを呼び出してデータをプッシュします。
-
残りのリクエストは、元の ThinkPHP の HTTP 方法に従って呼び出して処理します。
まとめ:
Workerman をブラウザにデータをプッシュするためのチャネルとして扱い、ブラウザにデータをプッシュする必要がある場合のみ Workerman インターフェースを呼び出してプッシュを完了させます。ビジネスロジックはすべて ThinkPHP 内で完了します。
ThinkPHP が Workerman ソケットインターフェースを呼び出してデータをプッシュする方法については、よくある質問 - 他のプロジェクトでのプッシュのセクションを参照してください。
ThinkPHP 公式はすでに Workerman をサポートしています。詳細は ThinkPHP5 マニュアル を参照してください。