Position actuelle: Accueil> Derniers articles> PHP Order Order Push Push Architecture Fonctional Architecture Design and Implementation Analysis

PHP Order Order Push Push Architecture Fonctional Architecture Design and Implementation Analysis

M66 2025-06-17

PHP Order Order Push Push Architecture Fonctional Architecture Design and Implementation Analysis

Avec le développement rapide de l'industrie du commerce électronique, la poussée en temps réel est devenue l'une des fonctions indispensables des marchands. Par poussée en temps réel, les commerçants peuvent rapidement recevoir des informations sur les nouvelles commandes et répondre en temps opportun. Cet article analysera de manière approfondie comment utiliser PHP pour créer des fonctions de poussée de commande en temps réel de la conception architecturale à la mise en œuvre du code.

Idées de conception architecturale

Le cœur de la poussée de commande en temps réel est de pouvoir informer les commerçants de nouvelles commandes en temps réel. Pour répondre à cette exigence, nous pouvons adopter le protocole WebSocket, qui peut établir une connexion persistante entre le client et le serveur, afin que les informations puissent être poussées instantanément.

Voici une conception architecturale simple:

+ ------------------------------- +
| Système de commande | | Côté marchand |
+ ------------------------------- +
        | |
        | |
+ ------------------------------- +
| WebSocket Server | | WebSocket |
+ ------------------------------- +

Dans cette architecture, une fois que le système de commande a reçu une nouvelle commande, il envoie les données de commande au serveur WebSocket. Le serveur WebSocket pousse ensuite les informations de commande au commerçant connecté au serveur. Une fois que le marchand a reçu les informations de commande, il peut les traiter davantage au besoin.

Construction du projet

Pour aider les développeurs à mieux comprendre comment implémenter cette fonctionnalité, nous utiliserons Ratchet pour créer un serveur WebSocket et utiliser un serveur de backend PHP pour envoyer des données de commande. Voici les étapes pour construire le projet:

1. WebSocket Server

Nous devons d'abord créer un serveur WebSocket. Cette tâche peut être accomplie à l'aide du cliquet de bibliothèque open source. Installez d'abord Ratchet via Composer dans le répertoire racine du projet:

Le compositeur nécessite CBODEN / Ratchet

Ensuite, créez un fichier PHP WebSocket_server.php et écrivez le code suivant:

<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;

require 'vendor/autoload.php';

$server = IoServer::factory(
    new HttpServer(
        new WsServer(
            new YourWebSocketServer() // IciYourWebSocketServerC&#39;est fait par toi-mêmeWebSocketClasse de serveur
        )
    ),
    8080
);

$server-> courir();

2. PHP Backend Server

Afin de communiquer avec le serveur WebSocket, nous avons besoin d'un serveur backend PHP. Vous pouvez utiliser un serveur intégré PHP ou tout serveur compatible PHP (tel qu'Apache ou Nginx). Voici comment commencer à utiliser le serveur intégré PHP:

php -s localhost: 8000

Ensuite, créez un fichier php backend.php et ajoutez le code suivant pour envoyer des informations de commande au marchand via WebSocket:

<?php
function notify_order($order_data) {
    // Créer unWebSocketSe connecter àWebSocketserveur
    $client = new WebSocketClient('ws://localhost:8080');

    // Envoyer des informations de commande àWebSocketserveur
    $client-> send (json_encode ($ order_data));

    // Close WebSocket Connection $ client-> close ();
}

// Exemple de données de commande $ ordonnance_data = [
    &#39;order_id&#39; => 123456,
    &#39;Customer_Name&#39; => &#39;Zhang San&#39;,
    &#39;order_amount&#39; => 100,00
]]

notify_order ($ order_data);

Mise en œuvre du côté marchand

Le marchand reçoit les informations de commande via WebSocket et l'affiche sur la page. Voici des exemples de code HTML et JavaScript marchand:

<!DOCTYPE html>
<html>
<head>
    <script>
        var ws = new WebSocket('ws://localhost:8080');

        ws.onopen = function() {
            console.log('Connexion avec succès');
        };

        ws.onmessage = function(e) {
            var order_data = JSON.parse(e.data);
            console.log('Reçu une nouvelle commande:', order_data);
            // Mettre à jour les informations de commande sur la page
            // ...
        };

        ws.onclose = function() {
            console.log('La connexion se ferme');
        };
    </script>
</head>
<body>
    <!-- Contenu de la page -->
</body>
</html>

Du côté marchand, une fois la connexion WebSocket établie, lorsque le serveur WebSocket reçoit une nouvelle commande, les informations de commande seront poussées vers le côté marchand et le côté marchand traitera les données de commande via l'événement OnMessage .

Résumer

La fonction de poussée de commande en temps réel est devenue une partie indispensable des systèmes de commerce électronique modernes. Cet article montre comment implémenter cette fonction en introduisant le protocole WebSocket, l'utilisation de la bibliothèque à cliquet et la coopération entre le backend PHP et le côté marchand. J'espère que la conception d'architecture et les exemples de code dans cet article pourront vous aider à implémenter rapidement les fonctions de poussée de commande en temps réel dans le développement réel et à améliorer la vitesse de réponse du système et l'expérience utilisateur.