PHP est un langage de programmation open source largement utilisé et est devenu l'une des technologies de base du développement Web. La fonction de notification en temps réel est une fonctionnalité très importante dans les sites Web modernes. Elle permet au site Web de répondre au comportement des utilisateurs en temps opportun et améliore le temps réel et l'interactivité du site Web. Dans cet article, nous présenterons comment utiliser PHP pour implémenter des fonctions de notification en temps réel et apporter une meilleure expérience utilisateur sur le site Web.
Les notifications en temps réel font référence à la possibilité d'envoyer instantanément des commentaires aux utilisateurs lorsque ceux-ci effectuent certaines opérations sur le site Web, telles que des invites contextuelles, des rappels sonores, une page mises à jour, etc. Le principe de base pour réaliser une notification en temps réel est d'utiliser la technologie Web Socket, qui est un protocole de communication full duplex basé sur le protocole TCP. Ce protocole peut établir une longue connexion entre le navigateur et le serveur, afin que le serveur puisse activement envoyer des messages au navigateur, afin que la fonction de notification en temps réel puisse être réalisée.
Si vous souhaitez ajouter une fonction de notification en temps réel à votre site Web, l'utilisation d'un framework PHP peut atteindre cet objectif très facilement. Il existe de nombreux frameworks PHP populaires sur le marché, tels que Laravel, Yii, CodeIgniter, etc. Ces frameworks fournissent des fonctions très puissantes, notamment un routage pratique, des opérations de base de données, le rendu de modèles et des composants pouvant accéder aux Web Sockets.
Lorsque vous utilisez le framework PHP pour implémenter la fonction de notification en temps réel, vous devez suivre les étapes suivantes :
Étape 1 : Utilisez Composer pour installer le composant Web Socket du framework
Vous pouvez utiliser Composer pour installer le Web Composant de socket du cadre, ce qui peut réduire beaucoup de travaux fastidieux. Lorsque vous utilisez Composer, vous devez créer un fichier composer.json dans le dossier du projet et ajouter le code suivant dans le fichier :
{
"require": { "cboden/ratchet": "0.4.*" }
}
Ensuite, dans le terminal ou la ligne de commande, entrez le dossier du projet et exécutez la commande. composer install et attendez que l’installation des packages dépendants soit terminée.
Étape 2 : Créer un programme serveur Web Socket
Lors de l'utilisation du framework PHP, la création d'un programme serveur Web Socket est très simple. Ajoutez simplement une nouvelle route dans le fichier de routage du framework pour gérer les demandes de connexion Web Socket. Par exemple, dans le framework CodeIgniter, vous pouvez ajouter le code suivant au fichier routes.php :
$route['websocket'] = 'WebSocket_controller';
Créez ensuite une classe WebSocket dans le contrôleur, héritée du Ratchet. bibliothèque AppWebSocketWsServer et remplacez la méthode onMessage() dans la classe. Cette méthode sera appelée lorsque le serveur recevra le message envoyé par le client. La logique du serveur qui envoie activement des messages au client peut être implémentée dans cette méthode, comme indiqué ci-dessous :
use RatchetConnectionInterface;
use RatchetMessageComponentInterface;
class WebSocket_controller extends CI_Controller implémente MessageComponentInterface {
private $clients = array(); public function __construct() { parent::__construct(); } public function index() { $server = RatchetserverIoServer::factory( new RatchetHttpHttpServer( new RatchetWebSocketWsServer( $this ) ), 8080 ); $server->run(); } public function onOpen(ConnectionInterface $conn) { $id = $conn->resourceId; $this->clients[$id] = $conn; echo "New connection {$id}
";
} public function onClose(ConnectionInterface $conn) { $id = $conn->resourceId; unset($this->clients[$id]); echo "Connection {$id} has disconnected
";
} public function onError(ConnectionInterface $conn, Exception $e) { echo "An error has occurred: {$e->getMessage()}
";
$conn->close(); } public function onMessage(ConnectionInterface $from, $msg) { foreach ($this->clients as $client) { if ($from !== $client) { $client->send($msg); } } }
}
Étape 3 : Créer une connexion Web Socket entre le client et le serveur
En JavaScript, vous pouvez utiliser l'objet WebSocket pour créer une connexion Web Socket. En vous connectant au serveur, vous peut recevoir des messages push du serveur. Par exemple, en JavaScript, vous pouvez créer un objet WebSocket comme suit :
Vous pouvez. puis ajoutez un écouteur d'événement onmessage, lorsque le serveur envoie un message, l'écouteur sera appelé, comme indiqué ci-dessous :
ws.onmessage = function(event) {
console.log("Received message: " + event.data);
}
RésuméCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!