📜  “codeigniter 4”购物车 - PHP (1)

📅  最后修改于: 2023-12-03 15:35:50.923000             🧑  作者: Mango

“codeigniter 4”购物车 - PHP

Codeigniter 4是一款基于PHP的轻量级MVC框架,可以帮助您快速地开发Web应用程序。本文将介绍如何使用Codeigniter 4框架创建一个简单的购物车系统。

步骤一:创建数据库

首先,您需要创建一个数据库来存储购物车中的商品。可以使用MySQL或其他关系型数据库。以下是一个创建购物车表的SQL命令:

CREATE TABLE IF NOT EXISTS `cart` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_name` varchar(255) NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`)
);
步骤二:安装Codeigniter 4

安装Codeigniter 4可以使用Composer,也可以手动下载。以下是使用Composer安装的步骤:

  1. 安装composer

  2. 创建新的Codeigniter 4项目

    composer create-project codeigniter4/appstarter myapp
    
步骤三:创建代码
  1. 创建Cart控制器

    在app/Controllers目录中创建Cart.php文件,添加以下代码:

    <?php
    
    namespace App\Controllers;
    
    use App\Models\CartModel;
    use CodeIgniter\Controller;
    
    class Cart extends Controller
    {
        public function index()
        {
            $cartModel = new CartModel();
            $data['cartItems'] = $cartModel->findAll();
           
            return view('cart/index', $data);
        }
        
        public function add()
        {
            $cartModel = new CartModel();
            $productName = $this->request->getVar('product_name');
            $price = $this->request->getVar('price');
            $quantity = $this->request->getVar('quantity');
           
            $cartModel->save([
                'product_name' => $productName,
                'price' => $price,
                'quantity' => $quantity
            ]);
           
            return redirect()->to(site_url('/cart'));
        }
        
        public function delete($id)
        {
            $cartModel = new CartModel();
            $cartModel->delete($id);
           
            return redirect()->to(site_url('/cart'));
        }
    }
    
  2. 创建CartModel模型

    在app/Models目录中创建CartModel.php文件,添加以下代码:

    <?php
    
    namespace App\Models;
    
    use CodeIgniter\Model;
    
    class CartModel extends Model
    {
        protected $table = 'cart';
        protected $primaryKey = 'id';
        protected $allowedFields = ['product_name', 'price', 'quantity'];
    }
    
  3. 创建视图文件

    在app/Views目录中创建cart/index.php文件,添加以下代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Cart</title>
    </head>
    <body>
        <h1>Your Cart</h1>
        <table>
            <thead>
                <tr>
                    <th>#</th>
                    <th>Product Name</th>
                    <th>Price</th>
                    <th>Quantity</th>
                    <th>Action</th>
                </tr>
            </thead>
            <tbody>
            <?php
            if(count($cartItems)):
                foreach($cartItems as $cartItem):
            ?>
                    <tr>
                        <td><?= $cartItem['id']; ?></td>
                        <td><?= $cartItem['product_name']; ?></td>
                        <td><?= $cartItem['price']; ?></td>
                        <td><?= $cartItem['quantity']; ?></td>
                        <td><a href="<?= site_url("/cart/delete/{$cartItem['id']}"); ?>">Delete</a></td>
                    </tr>
            <?php
                endforeach;
            else:
            ?>
                    <tr>
                        <td colspan="5">No item in the cart.</td>
                    </tr>
            <?php
            endif;
            ?>
            </tbody>
        </table>
        <h2>Add Item</h2>
        <form action="<?= site_url('/cart/add'); ?>" method="post">
            <label for="product_name">Product Name:</label>
            <input type="text" name="product_name" id="product_name" required>
            <br>
            <label for="price">Price:</label>
            <input type="number" name="price" id="price" min="0" step="0.01" required>
            <br>
            <label for="quantity">Quantity:</label>
            <input type="number" name="quantity" id="quantity" min="1" required>
            <br>
            <button type="submit">Add to Cart</button>
        </form>
    </body>
    </html>
    
步骤四:运行程序

运行开发服务器并在Web浏览器中访问http://localhost:8080/cart即可查看购物车。

总结

Codeigniter 4提供了方便快捷开发Web应用程序的工具和框架。通过本文的介绍,您学习了如何使用Codeigniter 4创建一个简单的购物车系统。