YII2 est un puissant cadre PHP, tandis que Workerman est un cadre de socket PHP haute performance qui prend en charge l'asynchrone. L'utilisation de ces deux cadres en combinaison peut aider les développeurs à implémenter rapidement les capacités de communication WebSocket. Cet article utilisera un exemple pour décrire comment intégrer Workerman dans YII2 pour implémenter la communication WebSocket.
Tout d'abord, vous devez installer le cadre YII2. Vous pouvez utiliser Composer pour installer Yii2 avec la commande suivante:
Cette commande créera une application YII2 appelée Basic dans le répertoire actuel.
Ensuite, nous devons installer Workerman. Le compositeur peut être utilisé pour installer rapidement:
Une fois l'installation terminée, vous devez créer un fichier appelé worker.php pour démarrer le service Workerman. Voici un exemple de code:
Le code ci-dessus crée un serveur WebSocket qui écoute le port 8080. Lorsqu'un message est reçu, le message sera renvoyé au client intact.
Ensuite, dans l'application YII2, nous devons créer un contrôleur pour gérer les demandes WebSocket. Voici le code du contrôleur WebSocket:
Dans ce contrôleur, nous utilisons TCPConnection de Workerman pour créer une connexion WebSocket et définissons une fonction de rappel de message qui le renvoie après avoir reçu le message.
Ensuite, dans le fichier Affichage, nous pouvons créer un bouton, cliquer et envoyer un message au serveur:
Dans ce code, nous utilisons jQuery pour lier l'événement de clic pour le bouton, et lorsque l'utilisateur clique sur le bouton, nous envoyons un message au serveur WebSocket.
Pour que les applications YII2 accédent correctement au contrôleur WebSocket, nous devons configurer l'itinéraire dans le fichier de configuration. Dans le fichier de configuration de l'application YII2, recherchez le tableau des composants et ajoutez ce qui suit:
Grâce à la configuration ci-dessus, la route / WebSocket pointera vers le contrôleur WebSocket que nous avons créé plus tôt.
Grâce à l'explication de cet article, vous avez appris à combiner Workerman pour implémenter des fonctions de communication WebSocket dans le cadre YII2. Tout d'abord, vous avez installé les cadres YII2 et Workerman via Composer; Vous avez ensuite créé un service de travail pour gérer les connexions WebSocket; Ensuite, vous configurez le contrôleur et les vues dans l'application YII2 et avez enfin obtenu l'accès à la fonctionnalité WebSocket en configurant le routage.
Avec cet exemple, vous pouvez facilement intégrer Workerman dans votre application YII2, en ajoutant des capacités de communication en temps réel à votre application et en améliorant l'expérience utilisateur.