전자 상거래 산업의 빠른 발전으로 실시간 주문 푸시는 상인의 필수 기능 중 하나가되었습니다. 실시간 푸시로 가맹점은 새로운 주문 정보를 신속하게 받고 적시에 응답 할 수 있습니다. 이 기사는 PHP를 사용하여 아키텍처 설계에서 코드 구현에 이르기까지 실시간 주문 푸시 기능을 구축하는 방법을 종합적으로 분석합니다.
실시간 주문 푸시의 핵심은 상인에게 새로운 주문을 실시간으로 알리는 것입니다. 이 요구 사항을 충족시키기 위해 클라이언트와 서버간에 지속적인 연결을 설정하여 정보를 즉시 푸시 할 수있는 WebSocket 프로토콜을 채택 할 수 있습니다.
간단한 건축 설계는 다음과 같습니다.
+---------------------------------+ | 주문 시스템 | | 상인 측 | +---------------------------------+ | | | | +---------------------------------+ | WebSocket Server | | WebSocket | +---------------------------------+
이 아키텍처에서 주문 시스템이 새 주문을받은 후 주문 데이터를 WebSocket 서버로 보냅니다. 그런 다음 WebSocket 서버는 주문 정보를 서버에 연결된 판매자에게 푸시합니다. 가맹점이 주문 정보를받은 후에는 필요에 따라 추가로 처리 할 수 있습니다.
개발자 가이 기능을 구현하는 방법을 더 잘 이해할 수 있도록 Ratchet을 사용하여 WebSocket 서버를 구축하고 PHP 백엔드 서버를 사용하여 주문 데이터를 보냅니다. 프로젝트를 구축하는 단계는 다음과 같습니다.
먼저 WebSocket 서버를 빌드해야합니다. 이 작업은 오픈 소스 라이브러리 래칫을 사용하여 수행 할 수 있습니다. 먼저 프로젝트 루트 디렉토리의 작곡가를 통해 래칫을 설치하십시오.
작곡가에는 CBoden/래칫이 필요합니다
그런 다음 php 파일 Websocket_server.php를 작성하고 다음 코드를 작성하십시오.
<?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() // 여기YourWebSocketServer혼자서 끝났습니다WebSocket서버 클래스 ) ), 8080 ); $server-> 달리다();
WebSocket 서버와 통신하려면 PHP 백엔드 서버가 필요합니다. PHP 내장 서버 또는 모든 PHP 지원 서버 (예 : Apache 또는 Nginx)를 사용할 수 있습니다. PHP 내장 서버 사용을 시작하는 방법은 다음과 같습니다.
PHP -S 로컬 호스트 : 8000
그런 다음 PHP 파일 Backend.php를 작성하고 다음 코드를 추가하여 WebSocket을 통해 판매자에게 주문 정보를 보냅니다.
<?php function notify_order($order_data) { // aWebSocket연결하십시오WebSocket섬기는 사람 $client = new WebSocketClient('ws://localhost:8080'); // 주문 정보를 보냅니다WebSocket섬기는 사람 $client-> send (json_encode ($ order_data)); // webSocket Connection을 닫습니다 $ client-> close (); } // 샘플 주문 데이터 $ order_data = [ 'Order_id'=> 123456, 'customer_name'=> 'Zhang San', 'Order_amount'=> 100.00 ]; notify_order ($ order_data);
판매자는 WebSocket을 통해 주문 정보를 수신하고 페이지에 표시합니다. Merchant HTML 및 JavaScript 코드의 예는 다음과 같습니다.
<!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 서버가 새 주문을 받으면 주문 정보가 판매자쪽으로 푸시되고 판매자 측은 OnMessage 이벤트를 통해 주문 데이터를 처리합니다.
실시간 주문 푸시 기능은 현대식 전자 상거래 시스템의 필수 부분이되었습니다. 이 기사는 WebSocket 프로토콜, 래칫 라이브러리 사용 및 PHP 백엔드와 판매자 측의 협력을 도입 하여이 기능을 구현하는 방법을 보여줍니다. 이 기사의 아키텍처 설계 및 코드 예제가 실제 개발에서 실시간 주문 푸시 기능을 신속하게 구현하고 시스템의 응답 속도 및 사용자 경험을 향상시키는 데 도움이되기를 바랍니다.