YII2 ist ein leistungsstarker PHP-Rahmen, während Workerman ein Hochleistungs-PHP-Socket-Framework ist, der Asynchronität unterstützt. Die Verwendung dieser beiden Frameworks in Kombination kann Entwicklern dabei helfen, die Kommunikationsfunktionen von WebSocket schnell zu implementieren. In diesem Artikel wird ein Beispiel verwendet, um zu beschreiben, wie Arbeiter in Yii2 in die Implementierung von WebSocket -Kommunikation integriert werden kann.
Zuerst müssen Sie das YII2 -Framework installieren. Mit dem Komponisten können Sie YII2 mit dem folgenden Befehl installieren:
In diesem Befehl wird eine YII2 -Anwendung erstellt, die im aktuellen Verzeichnis Basic bezeichnet wird.
Als nächstes müssen wir Workerman installieren. Der Komponist kann verwendet werden, um schnell zu installieren:
Nach Abschluss der Installation müssen Sie eine Datei namens Worker.php erstellen, um den Workerman -Service zu starten. Hier ist ein Beispielcode:
Der obige Code erstellt einen WebSocket -Server, der auf Port 8080 hört. Wenn eine Nachricht empfangen wird, wird die Nachricht an den Client intakt zurückgegeben.
Als nächstes müssen wir in der YII2 -Anwendung einen Controller erstellen, um WebSocket -Anfragen zu bearbeiten. Hier ist der Code für den WebSocket -Controller:
In diesem Controller verwenden wir die TCPConnection von WorkerMan, um eine WebSocket -Verbindung zu erstellen und eine Meldungs -Rückruffunktion zu definieren, die sie nach Empfang der Nachricht zurückgibt.
Als nächstes können wir in der Ansichtsdatei eine Schaltfläche erstellen, klicken und eine Nachricht an den Server senden:
In diesem Code verwenden wir JQuery, um das Klickenereignis für die Schaltfläche zu binden. Wenn der Benutzer auf die Schaltfläche klickt, senden wir eine Nachricht an den WebSocket -Server.
Damit Yii2 -Anwendungen den WebSocket -Controller korrekt zugreifen können, müssen wir die Route in der Konfigurationsdatei einrichten. Suchen Sie in der Konfigurationsdatei der YII2 -Anwendung das Komponentenarray und fügen Sie Folgendes hinzu:
Über die obige Konfiguration verweist die Route /WebSocket -Route auf den zuvor erstellten WebSocket -Controller.
Durch die Erläuterung dieses Artikels haben Sie gelernt, wie man Workerman kombiniert, um WebSocket -Kommunikationsfunktionen im Yii2 -Framework zu implementieren. Zunächst haben Sie die Rahmenbedingungen von YII2 und Workerman über den Komponisten installiert. Anschließend haben Sie einen Arbeiterdienst erstellt, um WebSocket -Verbindungen zu verarbeiten. Anschließend richten Sie den Controller und die Ansichten in der YII2 -Anwendung ein und haben schließlich Zugriff auf die WebSocket -Funktionalität erhalten, indem Sie Routing konfigurieren.
In diesem Beispiel können Sie Workerman problemlos in Ihre YII2-Anwendung integrieren, wodurch Echtzeit-Kommunikationsfunktionen zu Ihrer Anwendung hinzugefügt und die Benutzererfahrung verbessert werden.