Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membangunkan fungsi pesanan dalam talian menggunakan PHP dan Websocket

Membangunkan fungsi pesanan dalam talian menggunakan PHP dan Websocket

WBOY
WBOYasal
2023-12-02 14:17:14967semak imbas

Membangunkan fungsi pesanan dalam talian menggunakan PHP dan Websocket

Menggunakan php dan Websocket untuk membangunkan fungsi pesanan dalam talian

Dengan perkembangan teknologi yang berterusan, gaya hidup orang ramai berubah secara beransur-ansur. Kini, semakin ramai yang memilih untuk memesan secara dalam talian melalui Internet, termasuk perkhidmatan tempahan makanan. Bagi memenuhi keperluan pengguna, banyak restoran telah mula membangunkan fungsi pesanan dalam talian. Artikel ini akan memperkenalkan cara menggunakan PHP dan Websocket untuk membangunkan fungsi pesanan dalam talian yang mudah, dan menyediakan contoh kod khusus.

  1. Fahami teknologi Websocket
    Websocket ialah teknologi komunikasi dua hala berdasarkan protokol TCP, yang membolehkan penghantaran data dua hala masa nyata antara pelayan dan pelanggan. Berbanding dengan permintaan HTTP tradisional, Websocket boleh mencapai kemas kini data masa nyata, yang sangat sesuai untuk senario seperti pesanan dalam talian yang memerlukan kemas kini tepat pada masanya.
  2. Persediaan persekitaran
    Pertama, pastikan sambungan kebergantungan yang berkaitan untuk php dan Websocket telah dipasang pada pelayan. Sebagai contoh, pada sistem Linux, anda boleh memasang sambungan php dan Websocket dengan arahan berikut:

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

Selepas melengkapkan pemasangan, anda boleh menggunakan fungsi phpinfo() untuk mengesahkan sama ada pemasangan itu berjaya.

  1. Menulis kod sebelah pelayan
    Berikut ialah contoh kod sebelah pelayan yang mudah untuk mengendalikan logik perniagaan pesanan dalam talian:
<?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));
};

Dalam kod ini, kami mula-mula memuatkan perpustakaan pergantungan yang diperlukan. Kemudian, aplikasi pelayan dicipta melalui fungsi tanpa nama untuk mengendalikan logik perniagaan pesanan berdasarkan jenis permintaan.

  1. Menulis kod pelanggan
    Berikut ialah contoh kod pelanggan mudah untuk menghantar permintaan pesanan makanan dan menerima respons daripada pelayan:
<!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>

Dalam kod pelanggan, kami mula-mula membuat sambungan dengan pelayan melalui objek WebSocket menyambung. Selepas sambungan berjaya, kita boleh mendengar data yang dikembalikan oleh pelayan melalui acara onmessage. Apabila kita mengklik butang "Pesan Makanan", permintaan POST akan dihantar ke pelayan dengan maklumat pesanan.

  1. Jalankan contoh
    Simpan kod di atas sebagai server.php dan client.html, dan kemudian jalankan arahan berikut dalam baris arahan:

php -S localhost:8000 server.php

Buka localhost dalam penyemak imbas : 8000, klik butang "Pesan", dan anda boleh melihat maklumat sepadan yang dikembalikan oleh pelayan.

Melalui langkah di atas, kami berjaya membangunkan fungsi pesanan dalam talian yang mudah menggunakan php dan Websocket. Sudah tentu, ini hanyalah contoh asas, anda boleh membuat perkembangan yang lebih kompleks mengikut keperluan anda sendiri. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Membangunkan fungsi pesanan dalam talian menggunakan PHP dan Websocket. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn