ホームページ >バックエンド開発 >PHPチュートリアル >PHPを用いたリアルタイムオーダープッシュ機能のアーキテクチャ設計解析
PHP を使用したリアルタイム注文プッシュ機能実装のアーキテクチャ設計分析
電子商取引業界の急速な発展に伴い、リアルタイム注文プッシュ機能は多くの商人にとって欠かせないものとなっています。この機能により、新しい注文情報をリアルタイムで販売者にプッシュできるため、販売者は迅速に応答して注文を処理できるようになります。この記事では、PHP を使用してこの関数を実装する方法を検討し、対応するアーキテクチャ設計とコード例を提供します。
以下は、基本的なアーキテクチャ設計図です。
+-----------------+ +--------------+ | 订单系统 | | 商家端 | +-----------------+ +--------------+ | | | | +-----------------+ +--------------+ | WebSocket 服务器 | | WebSocket | +-----------------+ +--------------+
注文システムは、新しい注文を受け取ると、その注文情報を WebSocket サーバーに送信します。 WebSocket サーバーは、サーバーに接続されている販売者に注文情報をプッシュします。販売者は、受信した注文情報をさらに処理できます。
a. WebSocket サーバー:
Ratchet を使用して、単純な WebSocket サーバーを構築できます。まず、コマンドラインで次のコマンドを使用して Ratchet をインストールします:
composer require cboden/ratchet
次に、新しい PHP ファイル websocket_server.php を作成し、次のコードを記述します:
<?php use RatchetServerIoServer; use RatchetHttpHttpServer; use RatchetWebSocketWsServer; require 'vendor/autoload.php'; $server = IoServer::factory( new HttpServer( new WsServer( new YourWebSocketServer() // 这里的YourWebSocketServer是你自己实现的WebSocket服务器类 ) ), 8080 ); $server->run();
b. PHP バックエンド サーバー:
Apache や Nginx など、PHP をサポートする任意のサーバーを使用できます。この記事では、PHP の組み込みサーバーを例として使用します。
コマンド ラインで次のコマンドを使用して、PHP 組み込みサーバーを起動します:
php -S localhost:8000
次に、プロジェクト ディレクトリに新しい PHP ファイル backend.php を作成し、次のコードを記述します。
<?php function notify_order($order_data) { // 创建一个WebSocket连接到WebSocket服务器 $client = new WebSocketClient('ws://localhost:8080'); // 将订单信息发送给WebSocket服务器 $client->send(json_encode($order_data)); // 关闭WebSocket连接 $client->close(); } // 接收到订单信息时调用 $order_data = [ 'order_id' => 123456, 'customer_name' => '张三', 'order_amount' => 100.00 ]; notify_order($order_data);
販売者側の HTML ファイルでは、次のコードを使用して注文プッシュを受信できます:
<!DOCTYPE html> <html> <head> <script> var ws = new WebSocket('ws://localhost:8080'); ws.onopen = function() { console.log('连接成功'); }; ws.onmessage = function(e) { var order_data = JSON.parse(e.data); console.log('接收到新订单:', order_data); // 在页面中更新订单信息 // ... }; ws.onclose = function() { console.log('连接关闭'); }; </script> </head> <body> <!-- 页面内容 --> </body> </html>
販売者側は、WebSocket を通じて WebSocket サーバーに接続します。注文がプッシュされると、WebSocket サーバーから注文情報が販売者に送信されます。販売者は、受信した注文情報を onmessage イベントを通じて処理し、必要に応じてページ上の注文情報を更新できます。
概要:
リアルタイムの注文プッシュ機能は、電子商取引業界にとって非常に重要な部分です。 WebSocket プロトコルと PHP を使用することで、この機能を簡単に実装できます。この記事では、Ratchetを使用してWebSocketサーバーを構築し、PHPバックエンドサーバー経由で注文情報をWebSocketサーバーにプッシュする方法と、マーチャント側のJavaScriptサンプルコードを紹介します。この記事がリアルタイム注文プッシュ機能を導入する際の参考になれば幸いです。
以上がPHPを用いたリアルタイムオーダープッシュ機能のアーキテクチャ設計解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。