Rumah rangka kerja php YII Buat kedai dalam talian menggunakan rangka kerja Yii

Buat kedai dalam talian menggunakan rangka kerja Yii

Jun 21, 2023 pm 05:53 PM
Pusat beli-belah dalam talian cipta rangka kerja yii

Sebagai pembangun web, pembelajaran dan latihan menggunakan rangka kerja PHP sudah pasti penting. Di antara banyak rangka kerja PHP, rangka kerja Yii ialah rangka kerja yang cekap, elegan dan selamat dengan pangkalan pengguna yang luas.

Dalam artikel ini, saya akan berkongsi cara menggunakan rangka kerja Yii untuk membuat aplikasi pusat membeli-belah dalam talian asas. Aplikasi ini akan mempunyai fungsi pusat membeli-belah asas seperti pengurusan pengguna, pengurusan produk dan fungsi troli beli-belah. Aplikasi ini boleh digunakan sebagai amalan pengenalan untuk pemula untuk mempelajari rangka kerja Yii.

Pasang rangka kerja Yii

Sebelum mula menggunakan rangka kerja Yii, kita perlu memasang rangka kerja terlebih dahulu. Rangka kerja Yii menyediakan pelbagai kaedah pemasangan, kaedah yang paling biasa digunakan ialah memasang menggunakan Komposer. Sebelum pemasangan, kami perlu mengesahkan bahawa Komposer dipasang.

Kita boleh menggunakan arahan berikut untuk memasang rangka kerja Yii:

composer create-project --prefer-dist yiisoft/yii2-app-basic basic
Salin selepas log masuk

Arahan di atas akan mencipta aplikasi asas. Anda boleh mengesahkan sama ada rangka kerja Yii berjaya dipasang dengan melawati http://localhost/basic.

Reka bentuk jadual data dan pengisian data

Sebelum membuat aplikasi pusat membeli-belah dalam talian, kita perlu membuat jadual data yang berkaitan dengan pusat membeli-belah dan mengisi data. Artikel ini akan menggunakan MySQL sebagai pangkalan data dan mencipta jadual data berikut:

  • Jadual pengguna: menyimpan maklumat pengguna, seperti nama pengguna, kata laluan dan e-mel.
  • Jadual produk: menyimpan maklumat produk, seperti nama, harga dan keterangan.
  • Jadual pesanan: menyimpan maklumat pesanan, seperti ID pengguna, ID produk dan kuantiti pesanan.
  • Jadual troli: menyimpan maklumat troli beli-belah, seperti ID pengguna, ID produk dan kuantiti, dsb.

Menambahkan indeks yang sesuai pada jadual data di atas boleh meningkatkan kecekapan pertanyaan.

Berikut ialah penyataan SQL penciptaan jadual untuk jadual data di atas:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `product` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `price` float(10,2) NOT NULL,
  `description` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `order` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `product_id` int(11) NOT NULL,
  `quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `product_id` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `cart` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `product_id` int(11) NOT NULL,
  `quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `product_id` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk

Sekarang, kita perlu mengisi data untuk menguji aplikasi. Tambahkan sekurang-kurangnya satu rekod pengguna pada jadual pengguna dan sekurang-kurangnya satu rekod produk pada jadual produk. Kami akan menggunakan pengguna dan produk ini sebagai data ujian untuk baki artikel ini.

Mencipta Pengawal Pengguna

Kami akan mulakan dengan mencipta Pengawal Pengguna. Dalam rangka kerja Yii, pengawal ialah komponen teras yang mengendalikan permintaan aplikasi. Pengawal bertanggungjawab untuk mengesan jenis permintaan dan memanggil kaedah operasi tindak balas berdasarkan permintaan.

Sekarang, kami mencipta UserController dan menambah kaedah tindakan asas. Kami akan menggunakan sambungan yiiwebController untuk mencipta pengawal.

Dalam Yii, nama kelas pengawal biasanya ditambah dengan akhiran Pengawal, yang boleh menerangkan dengan lebih baik fungsi yang dilaksanakan oleh kelas. Berikut ialah kod asas kelas UserController:

<?php

namespace appcontrollers;

use yiiwebController;

class UserController extends Controller
{
    public function actionIndex()
    {
        return $this->render('index');
    }

    public function actionLogin()
    {
        // code for login logic
    }

    public function actionRegister()
    {
        // code for registration logic
    }
}
Salin selepas log masuk

Dalam kod di atas, kami telah menambah tiga kaedah operasi asas. Kaedah actionIndex() akan menjadikan fail paparan index.php. Ini ialah nama kaedah tindakan lalai. Kaedah actionLogin() dan actionRegister() akan digunakan untuk log masuk dan pendaftaran pengguna.

Sekarang, kita perlu mencipta fail paparan index.php. Lihat fail adalah output kaedah tindakan dalam pengawal. Kami akan menggunakan kaedah Yii::$app->view->render() yang disediakan oleh rangka kerja Yii untuk memaparkan paparan.

Buat fail index.php dalam folder paparan/pengguna dan tambah kod berikut:

<?php

use yiihelpersHtml;

$this->title = 'User';
$this->params['breadcrumbs'][] = $this->title;
?>
<h1><?= Html::encode($this->title) ?></h1>
<p>
Welcome to the user homepage.
</p>
Salin selepas log masuk

Kod di atas akan memaparkan mesej alu-aluan ringkas pada penyemak imbas.

Mencipta Pengawal dan Paparan Produk

Sekarang, kita akan beralih kepada mencipta Pengawal dan Paparan Produk. Kami akan menggunakan sambungan yiidataActiveDataProvider untuk mendapatkan data senarai produk.

Buat pengawal ProductController dan tambah kaedah tindakan berikut:

<?php

namespace appcontrollers;

use yiiwebController;
use appmodelsProduct;
use yiidataActiveDataProvider;

class ProductController extends Controller
{
    public function actionIndex()
    {
        $dataProvider = new ActiveDataProvider([
            'query' => Product::find(),
        ]);

        return $this->render('index', [
            'dataProvider' => $dataProvider,
        ]);
    }

    public function actionAddtocart($id)
    {
        // code for add to cart logic
    }
}
Salin selepas log masuk

Seperti yang ditunjukkan dalam kod, kami mula-mula menggunakan Product::find() untuk mendapatkan semua produk. Kami kemudian meletakkan data senarai produk dalam ActiveDataProvider dan menghantarnya ke paparan. Selepas ini, kami mencipta kaedah actionAddtocart() untuk menambah item pada troli beli-belah.

Kita perlu mencipta folder produk dan mencipta fail paparan index.php di bawah folder ini. Kami menggunakan widget GridView yang akan memaparkan senarai produk berdasarkan data yang disediakan oleh DataProvider. Kami juga menambah butang untuk menambah produk pada troli.

Berikut ialah kod untuk fail views/product/index.php:

<?php

use yiihelpersHtml;
use yiigridGridView;

$this->title = 'Product';
$this->params['breadcrumbs'][] = $this->title;
?>
<h1><?= Html::encode($this->title) ?></h1>

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'name',
        'price',
        'description',
        [
            'class' => 'yiigridActionColumn',
            'buttons' => [
                'addtocart' => function ($url, $model) {
                    return Html::a('Add to cart', ['product/addtocart', 'id' => $model->id]);
                }
            ],
            'template' => '{addtocart}',
        ],
    ],
]); ?>
Salin selepas log masuk

Kini kami boleh mengesahkan paparan dengan melawati http://localhost/basic/product/index dalam penyemak imbas diberikan dengan betul.

Buat pengawal troli beli-belah dan lihat

Kami memerlukan pengawal troli beli-belah dan paparan untuk menguruskan item yang ditambahkan pada troli beli-belah di pusat membeli-belah. Kami akan menggunakan session untuk menyimpan data troli beli-belah.

Kami mencipta pengawal CartController dan menambah kaedah operasi berikut:

<?php

namespace appcontrollers;

use yiiwebController;
use Yii;

class CartController extends Controller
{
    public function actionIndex()
    {
        $cart = Yii::$app->session->get('cart');
        return $this->render('index', [
            'cart' => $cart,
        ]);
    }

    public function actionAdd($id)
    {
        // code for add product to cart logic
    }

    public function actionRemove($id)
    {
        // code for remove product from cart logic
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mendapatkan data troli beli-belah yang disimpan dalam sesi. Dalam kaedah actionAdd($id), kami akan menambahkan produk dengan nombor ID yang ditentukan pada troli beli-belah. Dalam kaedah actionRemove($id), kami akan mengalih keluar item dengan nombor ID yang ditentukan daripada troli beli-belah.

Seterusnya, kita perlu mencipta folder troli dan mencipta fail paparan index.php di bawah folder ini. Kami menggunakan widget ListView yang akan memaparkan senarai troli beli-belah berdasarkan data troli beli-belah yang disimpan dalam sesi. Kami juga menambah beberapa butang untuk menambah atau mengurangkan bilangan item dalam troli beli-belah atau untuk mengalih keluar item daripada troli beli-belah.

Berikut ialah kod paparan/cart/index.php fail:

<?php

use yiihelpersHtml;
use yiiwidgetsListView;

$this->title = 'Shopping Cart';
$this->params['breadcrumbs'][] = $this->title;
?>
<h1><?= Html::encode($this->title) ?></h1>

<?= ListView::widget([
    'dataProvider' => $dataProvider,
    'itemView' => '_cart_item',
    'emptyText' => 'Your cart is empty.',
]) ?>
Salin selepas log masuk

在views/cart文件夹下创建_cart_item.php视图文件,该文件将被用于渲染购物车列表中的每一行。以下是views/cart/_cart_item.php文件的代码:

<?php

use yiihelpersHtml;
use yiiwidgetsActiveForm;

$form = ActiveForm::begin([
    'id' => 'cart-item-' . $model['id'],
]); ?>

<?= Html::a('Remove', ['cart/remove', 'id' => $model['id']]) ?>

<?= $model['name'] ?>

<?= $form->field($model, 'quantity')->textInput(['value' => $model['quantity']]) ?>

<?= Html::submitButton('Update') ?>

<?php ActiveForm::end(); ?>
Salin selepas log masuk

以上代码将会在浏览器中显示购物车列表,用户可以在该列表中执行增加或减少商品数量的操作,也可以删除购物车中已有商品。

完成在线商城应用程序

现在,我们已经完成了基础的在线商城应用程序,该应用程序拥有用户管理,产品管理和购物车等基础功能。该应用程序可以作为初学者学习和实践Yii框架的入门实践。当然,在实际应用中,我们仍需要添加更多功能来满足商城的需求。

Atas ialah kandungan terperinci Buat kedai dalam talian menggunakan rangka kerja Yii. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memperibadikan iPhone anda pada iOS 17 terkini Bagaimana untuk memperibadikan iPhone anda pada iOS 17 terkini Sep 21, 2023 am 08:17 AM

Cara Memperibadikan Panggilan pada iPhone iOS 17 Apple memperkenalkan ciri baharu yang dipanggil Poster Kenalan yang membolehkan anda memperibadikan rupa skrin panggilan anda pada iPhone anda. Ciri ini membolehkan anda mereka bentuk poster menggunakan foto, warna, fon dan Memoji terpilih sebagai kad kenalan. Jadi apabila anda membuat panggilan, imej tersuai anda akan muncul pada iPhone penerima sama seperti yang anda bayangkan. Anda boleh memilih untuk berkongsi poster kenalan unik anda dengan semua kenalan anda yang disimpan atau memilih siapa yang boleh melihatnya. Begitu juga, semasa pertukaran panggilan, anda juga akan melihat poster kenalan orang lain. Selain itu, Apple membenarkan anda menetapkan foto kenalan khusus untuk kenalan individu, membuat panggilan daripada kenalan tersebut

Bagaimana untuk membuat folder pada Telefon Realme? Bagaimana untuk membuat folder pada Telefon Realme? Mar 23, 2024 pm 02:30 PM

Tajuk: Panduan Pemula Telefon Realme: Bagaimana Membuat Folder pada Telefon Realme? Dalam masyarakat hari ini, telefon bimbit telah menjadi alat yang sangat diperlukan dalam kehidupan manusia. Sebagai jenama telefon pintar popular, Telefon Realme digemari pengguna kerana sistem pengendaliannya yang ringkas dan praktikal. Dalam proses menggunakan telefon Realme, ramai orang mungkin menghadapi situasi di mana mereka perlu mengatur fail dan aplikasi pada telefon mereka, dan mencipta folder ialah cara yang berkesan. Artikel ini akan memperkenalkan cara membuat folder pada telefon Realme untuk membantu pengguna mengurus kandungan telefon mereka dengan lebih baik. Tidak.

Bagaimana untuk mencipta seni piksel dalam GIMP Bagaimana untuk mencipta seni piksel dalam GIMP Feb 19, 2024 pm 03:24 PM

Artikel ini akan menarik minat anda jika anda berminat menggunakan GIMP untuk penciptaan seni piksel pada Windows. GIMP ialah perisian penyuntingan grafik terkenal yang bukan sahaja percuma dan sumber terbuka, tetapi juga membantu pengguna mencipta imej dan reka bentuk yang cantik dengan mudah. Selain sesuai untuk pemula dan pereka profesional, GIMP juga boleh digunakan untuk mencipta seni piksel, satu bentuk seni digital yang menggunakan piksel sebagai satu-satunya blok bangunan untuk melukis dan mencipta. Cara Membuat Seni Piksel dalam GIMP Berikut ialah langkah utama untuk mencipta gambar piksel menggunakan GIMP pada PC Windows: Muat turun dan pasang GIMP, kemudian lancarkan aplikasi. Buat imej baharu. Ubah saiz lebar dan tinggi. Pilih alat pensel. Tetapkan jenis berus kepada piksel. sediakan

Cara mencipta keluarga dengan Gree+ Cara mencipta keluarga dengan Gree+ Mar 01, 2024 pm 12:40 PM

Ramai rakan menyatakan bahawa mereka ingin tahu cara membuat keluarga dalam perisian Gree+ Berikut adalah kaedah operasi untuk anda Rakan yang ingin mengetahui lebih lanjut, datang dan lihat dengan saya. Mula-mula, buka perisian Gree+ pada telefon mudah alih anda dan log masuk. Kemudian, dalam bar pilihan di bahagian bawah halaman, klik pilihan "Saya" di hujung kanan untuk memasuki halaman akaun peribadi. 2. Selepas datang ke halaman saya, terdapat pilihan "Buat Keluarga" di bawah "Keluarga". 3. Seterusnya lompat ke halaman untuk mencipta keluarga, masukkan nama keluarga yang akan ditetapkan dalam kotak input mengikut gesaan, dan klik butang "Simpan" di penjuru kanan sebelah atas selepas memasukkannya. 4. Akhir sekali, gesaan "simpan berjaya" akan muncul di bahagian bawah halaman, menunjukkan bahawa keluarga telah berjaya dibuat.

Cara membuat carta Gantt menggunakan Highcharts Cara membuat carta Gantt menggunakan Highcharts Dec 17, 2023 pm 07:23 PM

Cara menggunakan Highcharts untuk mencipta carta Gantt memerlukan contoh kod khusus Pengenalan: Carta Gantt ialah bentuk carta yang biasa digunakan untuk memaparkan kemajuan projek dan pengurusan masa secara visual boleh memaparkan masa mula, masa tamat dan kemajuan tugas. Highcharts ialah perpustakaan carta JavaScript yang berkuasa yang menyediakan jenis carta kaya dan pilihan konfigurasi yang fleksibel. Artikel ini akan memperkenalkan cara menggunakan Highcharts untuk mencipta carta Gantt dan memberikan contoh kod khusus. 1. Carta tinggi

Cara Membuat Poster Kenalan untuk iPhone Anda Cara Membuat Poster Kenalan untuk iPhone Anda Mar 02, 2024 am 11:30 AM

Dalam iOS17, Apple telah menambahkan ciri poster kenalan pada apl Telefon dan Kenalan yang biasa digunakan. Ciri ini membolehkan pengguna menetapkan poster yang diperibadikan untuk setiap kenalan, menjadikan buku alamat lebih visual dan peribadi. Poster kenalan boleh membantu pengguna mengenal pasti dan mencari kenalan tertentu dengan lebih cepat, meningkatkan pengalaman pengguna. Melalui ciri ini, pengguna boleh menambah gambar atau logo tertentu pada setiap kenalan mengikut keutamaan dan keperluan mereka, menjadikan antara muka buku alamat lebih jelas Apple dalam iOS17 menyediakan pengguna iPhone dengan cara baru untuk mengekspresikan diri mereka, dan menambah poster kenalan yang boleh diperibadikan. Ciri Poster Kenalan membolehkan anda memaparkan kandungan unik dan diperibadikan apabila memanggil pengguna iPhone lain. awak

Pandangan pertama di Django: Cipta projek Django pertama anda menggunakan baris arahan Pandangan pertama di Django: Cipta projek Django pertama anda menggunakan baris arahan Feb 19, 2024 am 09:56 AM

Mulakan perjalanan projek Django: mulakan dari baris arahan dan cipta projek Django pertama anda Django ialah rangka kerja aplikasi web yang berkuasa dan fleksibel Ia berdasarkan Python dan menyediakan banyak alat dan fungsi yang diperlukan untuk membangunkan aplikasi web. Artikel ini akan membawa anda untuk mencipta projek Django pertama anda bermula dari baris arahan. Sebelum memulakan, pastikan anda memasang Python dan Django. Langkah 1: Cipta direktori projek Mula-mula, buka tetingkap baris arahan dan buat direktori baharu

Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? Sep 13, 2023 am 11:40 AM

Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? CAPTCHA ialah kaedah yang biasa digunakan untuk mengesahkan sama ada pengguna adalah manusia dan bukan mesin. Di tapak web, kami sering melihat imej kod pengesahan, yang memerlukan pengguna memasukkan aksara atau nombor rawak yang dipaparkan pada imej untuk menyelesaikan operasi seperti log masuk, pendaftaran dan mengulas. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mencipta imej kod pengesahan dan memberikan contoh kod tertentu. 1. Pustaka PHPGD Untuk mencipta imej kod pengesahan, kita perlu menggunakan perpustakaan GD PHP. Pustaka GD ialah sambungan untuk memproses imej.

See all articles