Maison  >  Article  >  développement back-end  >  Développer une fonction de commande en ligne en utilisant PHP et Websocket

Développer une fonction de commande en ligne en utilisant PHP et Websocket

WBOY
WBOYoriginal
2023-12-02 14:17:14917parcourir

Développer une fonction de commande en ligne en utilisant PHP et Websocket

Utiliser PHP et Websocket pour développer la fonction de commande en ligne

Avec le développement continu de la technologie, les modes de vie des gens changent progressivement. De nos jours, de plus en plus de personnes choisissent de commander en ligne via Internet, y compris via les services de commande de repas. Afin de répondre aux besoins des utilisateurs, de nombreux restaurants ont commencé à développer des fonctions de commande en ligne. Cet article explique comment utiliser PHP et Websocket pour développer une fonction de commande en ligne simple et fournit des exemples de code spécifiques.

  1. Comprendre la technologie Websocket
    Websocket est une technologie de communication bidirectionnelle basée sur le protocole TCP, qui permet une transmission bidirectionnelle de données en temps réel entre le serveur et le client. Par rapport aux requêtes HTTP traditionnelles, Websocket peut réaliser des mises à jour de données en temps réel, ce qui est très approprié pour des scénarios tels que les commandes en ligne qui nécessitent des mises à jour en temps opportun.
  2. Configuration de l'environnement
    Tout d'abord, assurez-vous que les extensions de dépendance pertinentes pour php et Websocket ont été installées sur le serveur. Par exemple, sur un système Linux, vous pouvez installer les extensions php et Websocket avec la commande suivante :

sudo apt-get install php

sudo apt-get install php-dev

sudo pecl install channel://pecl. php.net/ ev-1.0.3

sudo pecl install channel://pecl.php.net/ev-1.0.3

Après avoir terminé l'installation, vous pouvez utiliser la fonction phpinfo() pour confirmer si l'installation est réussi.

  1. Écrire du code côté serveur
    Ce qui suit est un exemple simple de code côté serveur pour gérer la logique métier de la commande en ligne :
<?php
require 'vendor/autoload.php';
$app = function ($request, $response) {
    $res = [];
    if ($request->isPost()) {
        $data = $request->post();
        // 处理订餐逻辑
        // ...
        $res['status'] = 'success';
        $res['message'] = '订餐成功';
    } else {
        $res['status'] = 'error';
        $res['message'] = '非法请求';
    }
    $response->write(json_encode($res));
};

Dans ce code, nous chargeons d'abord les bibliothèques de dépendances requises. Ensuite, une application serveur a été créée via des fonctions anonymes pour gérer la logique métier de commande en fonction du type de demande.

  1. Écriture du code client
    Ce qui suit est un exemple simple de code client pour envoyer une demande de commande de nourriture et recevoir une réponse du serveur :
<!DOCTYPE html>
<html>
<head>
    <title>在线点餐</title>
    <script>
        var socket = new WebSocket("ws://localhost:8000");
        
        socket.onopen = function(event) {
            console.log("连接成功");
        };
        
        socket.onmessage = function(event) {
            var response = JSON.parse(event.data);
            if (response.status === "success") {
                alert(response.message);
            } else {
                console.error(response.message);
            }
        };
        
        function placeOrder() {
            var formData = new FormData();
            formData.append("dish", "鱼香肉丝");
            formData.append("quantity", 2);
            
            var xhr = new XMLHttpRequest();
            xhr.open("POST", "/order.php");
            xhr.send(formData);
        }
    </script>
</head>
<body>
    <button onclick="placeOrder()">点餐</button>
</body>
</html>

Dans le code client, nous créons d'abord une connexion avec le serveur via l'objet WebSocket connecter. Une fois la connexion réussie, nous pouvons écouter les données renvoyées par le serveur via l'événement onmessage. Lorsque nous cliquons sur le bouton « Commander de la nourriture », une requête POST sera envoyée au serveur avec les informations de commande.

  1. Exécutez l'exemple
    Enregistrez le code ci-dessus sous server.php et client.html, puis exécutez les commandes suivantes dans la ligne de commande :

php -S localhost:8000 server.php

Ouvrez localhost dans le navigateur : 8000, cliquez sur le bouton "Commander", et vous pourrez voir les informations correspondantes renvoyées par le serveur.

Grâce aux étapes ci-dessus, nous avons développé avec succès une fonction de commande en ligne simple utilisant php et Websocket. Bien entendu, ce n’est qu’un exemple basique, vous pouvez réaliser des développements plus complexes selon vos propres besoins. J'espère que cet article pourra vous être utile !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn