Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk melaksanakan fungsi troli beli-belah menggunakan ThinkPHP

Bagaimana untuk melaksanakan fungsi troli beli-belah menggunakan ThinkPHP

PHPz
PHPzasal
2023-04-11 09:16:08732semak imbas

ThinkPHP ialah rangka kerja PHP popular yang terkenal dengan kemudahan penggunaan dan ciri yang berkuasa. Dalam artikel ini, kita akan membincangkan cara membina aplikasi troli beli-belah yang mudah menggunakan rangka kerja ThinkPHP.

Pertama, kami perlu mencipta pangkalan data untuk menyimpan produk dan maklumat pesanan kami. Salin dan tampal kod SQL berikut ke dalam phpMyAdmin atau klien MySQL lain untuk mencipta pangkalan data:

BUAT PANGKALAN DATA cart SET KARAKTER LALAI utf8 COLLATE utf8_general_ci;

Kemudian, kita perlu mencipta dua jadual untuk menyimpan maklumat produk dan pesanan. Buat jadual bernama "produk" dan "pesanan" menggunakan kod SQL berikut:

CREATE TABLE products (
 id int(11) NOT NULL AUTO_INCREMENT,
 name varchar(255) NOT NULL,
 description text NOT NULL,
 price float NOT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE orders (
 id int(11) NOT NULL AUTO_INCREMENT,
 user_id int(11) NOT NULL,
 product_id int(11) NOT NULL,
 quantity int(11) NOT NULL,
 created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Sekarang, kita perlu menyediakan aplikasi kita. Pasang rangka kerja ThinkPHP menggunakan Composer:

composer create-project topthink/think tp5 --prefer-dist

Kemudian salin dan tampal kod berikut ke dalam fail tp5/application/common.php. Ini akan mewujudkan fungsi pembantu global yang dipanggil "getCart" untuk mendapatkan maklumat troli beli-belah pengguna:

<?php
use app\index\model\Cart;
function getCart()
{
$user_id = 1; // 此处默认用户ID为1,实际应用中应该从会话中获取用户ID
$cart = Cart::where(&#39;user_id&#39;, $user_id)->select();
return $cart;
}

Seterusnya, kita perlu mencipta model yang dipanggil "Cart" untuk mengurus projek troli beli-belah pengguna dalam .

<?php
namespace app\index\model;
use think\Model;
class Cart extends Model
{
protected $table = &#39;orders&#39;;

static function add($product_id, $quantity)
{
    $user_id = 1; // 此处默认用户ID为1,实际应用中应该从会话中获取用户ID
    $order = new Cart();
    $order->user_id = $user_id;
    $order->product_id = $product_id;
    $order->quantity = $quantity;
    $order->save();
}

static function remove($id)
{
    Cart::destroy($id);
}
}

Kini kami boleh menggunakan model "Cart" dalam aplikasi kami untuk menambah dan mengalih keluar item troli. Gunakan kod berikut untuk menambah item pada troli:

Cart::add($product_id, $quantity);

dan keluarkan item daripada troli menggunakan kod berikut:

Cart::remove($id);

Akhir sekali, kita perlu mencipta pengawal yang dipanggil "Cart" dan menambah dua kaedah: satu untuk memaparkan kandungan troli dan satu lagi untuk menambah item pada troli.

<?php
namespace app\index\controller;
use app\index\model\Cart;
class CartController extends BaseController
{
public function index()
{
    $cart = getCart();
    $this->assign(&#39;cart&#39;, $cart);
    return $this->fetch();
}

public function add()
{
    $product_id = input(&#39;post.product_id&#39;);
    $quantity = input(&#39;post.quantity&#39;);

    Cart::add($product_id, $quantity);

    $this->success(&#39;添加成功&#39;, url(&#39;index&#39;));
}
}

Setelah melengkapkan langkah di atas, kami telah berjaya mencipta aplikasi troli beli-belah yang mudah. Kini, kita boleh memaparkan kandungan troli beli-belah dengan mengakses kaedah indeks CartController, dan menambah item pada troli beli-belah dengan mengakses kaedah tambah CartController.

Itu pengenalan ringkas tentang cara membina aplikasi troli beli-belah menggunakan rangka kerja ThinkPHP. Menggunakan kod ini sebagai titik permulaan, anda boleh melanjutkan dan menambah baik aplikasi ini dan mencipta laman web e-dagang yang lengkap.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi troli beli-belah menggunakan ThinkPHP. 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