Как интегрироваться с другими фреймворками
Вопрос:
Как интегрироваться с другими mvc фреймворками (ThinkPHP, Yii и т.д.)?
Ответ:

Рекомендуемый способ интеграции с другими mvc фреймворками представлен на вышеуказанном изображении (на примере ThinkPHP):
-
ThinkPHP и Workerman — это две независимые системы, которые развёртываются отдельно (могут работать на разных серверах) и не мешают друг другу.
-
ThinkPHP предоставляет веб-страницы по протоколу HTTP для отображения в браузере.
-
JS, предоставляемый страницами ThinkPHP, инициирует соединение websocket с Workerman.
-
После подключения Workerman отправляется пакет данных (включающий имя пользователя, пароль или некоторый токен) для верификации, к какому пользователю принадлежит веб-соединение.
-
Только тогда, когда ThinkPHP нужно отправить данные в браузер, вызывается сокет-интерфейс Workerman для осуществления отправки данных.
-
Остальные запросы обрабатываются по стандартному HTTP-подходу ThinkPHP.
Итог:
Используйте Workerman как канал для отправки данных в браузер, и обращайтесь к интерфейсам Workerman только тогда, когда необходимо отправить данные в браузер. Вся бизнес-логика полностью реализована в ThinkPHP.
Для справки о том, как ThinkPHP вызывает сокет-интерфейс Workerman для отправки данных, см. раздел типичные вопросы - отправка в других проектах.
Официально ThinkPHP уже поддерживает Workerman, см. руководство ThinkPHP5