Wie man sich mit anderen Frameworks integriert

Frage:

Wie integriert man sich mit anderen MVC-Frameworks (wie ThinkPHP, Yii usw.)?

Antwort:

workerman-thinkphp

Die Integration mit anderen MVC-Frameworks wird empfohlen, wie es im obigen Bild gezeigt wird (am Beispiel von ThinkPHP):

  1. ThinkPHP und Workerman sind zwei unabhängige Systeme, die unabhängig bereitgestellt werden (können auf verschiedenen Servern bereitgestellt werden) und sich gegenseitig nicht stören.

  2. ThinkPHP stellt Webseiten über das HTTP-Protokoll für die Anzeige im Browser bereit.

  3. Das von ThinkPHP bereitgestellte JS initiiert die Websocket-Verbindung und verbindet sich mit Workerman.

  4. Nach der Verbindung sendet es ein Datenpaket an Workerman (einschließlich Benutzername, Passwort oder einer bestimmten Token-Zeichenfolge), um zu überprüfen, welchem Benutzer die Websocket-Verbindung gehört.

  5. Workerman's Socket-Schnittstelle wird nur aufgerufen, wenn ThinkPHP Daten an den Browser pushen muss.

  6. Alle anderen Anfragen werden weiterhin gemäß der ursprünglichen HTTP-Methode von ThinkPHP verarbeitet.

Zusammenfassung:

Workerman wird als ein Kanal betrachtet, der Daten an den Browser pushen kann, und es wird nur dann die Workerman-Schnittstelle für das Pushen aufgerufen, wenn Daten an den Browser gesendet werden müssen. Die gesamte Geschäftslogik wird in ThinkPHP durchgeführt.

Wie man die Workerman-Socket-Schnittstelle in ThinkPHP zur Datenübertragung aufruft, siehe den Abschnitt Häufige Fragen - Datenübertragung in anderen Projekten.

ThinkPHP unterstützt bereits Workerman, siehe ThinkPHP5-Handbuch