Rumah > Artikel > pembangunan bahagian belakang > Analisis reka bentuk seni bina fungsi tolakan pesanan masa nyata menggunakan PHP
Analisis reka bentuk seni bina fungsi tolakan pesanan masa nyata menggunakan PHP
Dengan perkembangan pesat industri e-dagang, fungsi tolakan pesanan masa nyata telah menjadi bahagian yang amat diperlukan oleh banyak peniaga. Fungsi ini boleh menolak maklumat pesanan baharu kepada pedagang dalam masa nyata, membolehkan mereka bertindak balas dengan cepat dan memproses pesanan. Dalam artikel ini, kami akan meneroka cara menggunakan PHP untuk melaksanakan fungsi ini dan menyediakan reka bentuk seni bina yang sepadan dan contoh kod.
Berikut ialah rajah reka bentuk seni bina asas:
+-----------------+ +--------------+ | 订单系统 | | 商家端 | +-----------------+ +--------------+ | | | | +-----------------+ +--------------+ | WebSocket 服务器 | | WebSocket | +-----------------+ +--------------+
Apabila sistem pesanan menerima pesanan baharu, ia menghantar maklumat pesanan ke pelayan WebSocket. Pelayan WebSocket menolak maklumat pesanan kepada pedagang yang disambungkan ke pelayan. Peniaga boleh memproses selanjutnya maklumat pesanan yang diterima.
a. Pelayan WebSocket:
Kita boleh menggunakan Ratchet untuk membina pelayan WebSocket yang ringkas. Mula-mula, pasang Ratchet menggunakan arahan berikut dalam baris arahan:
composer require cboden/ratchet
Kemudian, buat fail PHP baharu websocket_server.php dan tulis kod berikut:
<?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 Pelayan Belakang PHP:
Kami boleh menggunakan mana-mana pelayan yang menyokong PHP , seperti Apache atau Nginx. Dalam artikel ini, kami akan menggunakan pelayan terbina dalam PHP sebagai contoh.
Gunakan arahan berikut dalam baris arahan untuk memulakan pelayan terbina dalam PHP:
php -S localhost:8000
Kemudian, buat fail PHP baharu backend.php dalam direktori projek dan tulis kod berikut:
<?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);
Dalam fail HTML di sebelah pedagang, anda boleh menggunakan kod berikut untuk menerima tolak pesanan:
<!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>
Pihak pedagang menyambung ke pelayan WebSocket melalui WebSocket Apabila pesanan baharu ditolak, pelayan WebSocket akan menghantar maklumat pesanan kepada pihak peniaga. Pedagang mengendalikan maklumat pesanan yang diterima melalui acara onmessage dan boleh mengemas kini maklumat pesanan pada halaman mengikut keperluan.
Ringkasan:
Fungsi tolak pesanan masa nyata adalah bahagian yang sangat penting dalam industri e-dagang. Dengan menggunakan protokol WebSocket dan PHP, kami boleh melaksanakan fungsi ini dengan mudah. Artikel ini memperkenalkan kaedah menggunakan Ratchet untuk membina pelayan WebSocket dan menolak maklumat pesanan ke pelayan WebSocket melalui pelayan backend PHP, dan menyediakan kod sampel JavaScript pada bahagian pedagang. Saya harap artikel ini akan membantu anda apabila melaksanakan fungsi tolak pesanan masa nyata.
Atas ialah kandungan terperinci Analisis reka bentuk seni bina fungsi tolakan pesanan masa nyata menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!