他のフレームワークとの統合方法
質問:
他のMVCフレームワーク(thinkPHP、Yiiなど)とどのように統合できますか?
回答:
他のMVCフレームワークとの統合は、上記の方法(ThinkPHPを例に取る)が推奨されます:
-
ThinkPHPとWorkermanは独立したシステムであり、独自に展開されます(異なるサーバーに展開することも可能)。お互いに干渉しません。
-
ThinkPHPはHTTPプロトコルを使用してブラウザでページをレンダリング・表示します。
-
ThinkPHPが提供するページのJavaScriptは、WebSocket接続を作成し、Workermanに接続します。
-
接続後、Workermanにはユーザーを認証するためのデータパケット(ユーザー名とパスワード、またはある種のトークン文字列)が送信されます。
-
ブラウザにデータをプッシュする必要がある場合にのみ、ThinkPHPはWorkermanのソケットインターフェースを呼び出してデータをプッシュします。
-
その他のリクエストは、元のThinkPHPのHTTP方法で処理されます。
まとめ:
Workermanをブラウザにデータをプッシュできるチャネルとして使用し、ブラウザにデータをプッシュする必要があるときにのみWorkermanのインターフェースを呼び出します。ビジネスロジックはすべてThinkPHPで完了します。
ThinkPHPからWorkermanのソケットインターフェースを呼び出してデータをブラウザにプッシュする方法については、よくある質問-他のプロジェクトでのプッシュセクションを参照してください。
ThinkPHP公式はWorkermanをすでにサポートしており、ThinkPHP5マニュアルを参照してください