Rumah >rangka kerja php >YII >Buat laman web makanan menggunakan kerangka Yii

Buat laman web makanan menggunakan kerangka Yii

WBOY
WBOYasal
2023-06-21 11:18:101348semak imbas

Dengan populariti Internet, permintaan dan pencarian makanan yang lazat orang ramai juga semakin meningkat. Oleh itu, cara menyediakan maklumat dan pengalaman makanan berkualiti tinggi kepada pengguna telah menjadi salah satu isu penting yang perlu diselesaikan oleh platform dalam talian. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Yii untuk mencipta laman web makanan.

1. Fahami rangka kerja Yii

Yii ialah rangka kerja aplikasi web sumber terbuka berdasarkan bahasa PHP. Ia dicirikan oleh kesederhanaan, kemudahan penggunaan, kecekapan, kestabilan, keselamatan dan kebolehpercayaan, dan merupakan alat pembangunan aplikasi web yang matang dan boleh dipercayai. Model MVC Yii dan mekanisme caching yang berkuasa membolehkannya bertindak balas dengan cepat kepada permintaan pengguna dan mengendalikan sejumlah besar trafik akses.

2. Seni bina laman web makanan

  1. Pembahagian modul

Apabila mencipta laman web makanan, kami boleh membahagikannya kepada beberapa modul, masing-masing Ya :

  • Halaman hadapan: memaparkan maklumat makanan terkini dan terhangat.
  • Butiran makanan: Paparkan maklumat terperinci, gambar dan ulasan setiap makanan.
  • Carian: Menyediakan fungsi mencari mengikut nama makanan, kata kunci dan lokasi geografi.
  • Pusat Pengguna: Menyediakan log masuk pengguna, pendaftaran, pengurusan maklumat peribadi, muat naik resipi dan fungsi lain.
  • Latar belakang pengurusan: Menyediakan fungsi seperti log masuk pentadbir, pengurusan makanan, semakan, pemadaman, pengubahsuaian, dsb.
  1. Reka Bentuk Pangkalan Data

Apabila mereka bentuk pangkalan data, jadual data laman web makanan boleh dibahagikan kepada tiga bahagian:

  • jadual pengguna: menyimpan maklumat asas pengguna, seperti nama pengguna, kata laluan, e-mel, nombor telefon mudah alih, dsb.
  • jadual resipi: menyimpan maklumat terperinci makanan, seperti nama, bahan yang diperlukan, pengeluaran; proses, gambar, ulasan, dsb. ;
  • jadual ulasan: menyimpan maklumat penilaian dan ulasan pengguna.

3. Pembinaan rangka kerja Yii

  1. Memasang rangka kerja Yii

Mula-mula anda perlu memasang rangka kerja Yii. Ia boleh dipasang melalui Komposer:

composer create-project --prefer-dist yiisoft/yii2-app-basic your_project_name
  1. Buat pangkalan data

Gunakan pangkalan data MySQL dan buat tiga jadual: pengguna, resipi dan ulasan.

  1. Konfigurasikan sambungan pangkalan data

Dalam fail config/web.php, buat konfigurasi berikut:

'components' => [
    'db' => [
        'class' => 'yiidbConnection',
        'dsn' => 'mysql:host=localhost;dbname=dbname',
        'username' => 'username',
        'password' => 'password',
        'charset' => 'utf8',
    ],
],

Anda perlu menukar nama db, nama pengguna, dan kata laluan kepada parameter pangkalan data anda sendiri.

  1. Mencipta modul

Dalam rangka kerja Yii, modul boleh dibuat melalui alat Gii. Mula-mula anda perlu mendayakan Gii, yang boleh dikonfigurasikan seperti berikut dalam fail config/web.php:

$config = [
    'bootstrap' => ['gii'],
    'modules' => [
        'gii' => [
            'class' => 'yiigiiModule',
        ],
    ],
];

dan dikonfigurasikan dalam config/main-local.php:

$config['modules']['gii'] = [
    'class' => 'yiigiiModule',
    'allowedIPs' => ['127.0.0.1', '::1'],
];

dan kemudian masukkan http dalam pelayar ://localhost/gii/ Anda boleh memasuki halaman Gii dan mencipta modul.

  1. Buat model dan pengawal

Selepas modul dibuat, anda boleh mencipta model dan pengawal serta menulis kod. Contohnya, di bawah modul resipi, buat pengawal Resipi dan model Resipi. Dan tulis kod berikut dalam pengawal Resipi:

public function actionIndex()
{
    $recipes = Recipe::find()->all();
        
    return $this->render('index', [
        'recipes' => $recipes,
    ]);
}

Soal jadual data resipi melalui kaedah Recipe::find()->all() dan hantar keputusan dalam bentuk pembolehubah $resipi .

Buat fail paparan untuk memaparkan data. Contohnya, dalam recipe/views/recipe/index.php, tulis kod berikut:

<?php foreach ($recipes as $recipe): ?>
<div class="recipe-item">
    <h2><?= Html::a(Html::encode($recipe->name), ['view', 'id' => $recipe->id]) ?></h2>
    <p><?= Html::encode($recipe->description) ?></p>
    <p><?= Html::a('查看详情', ['view', 'id' => $recipe->id]) ?></p>
</div>
<?php endforeach; ?>

Gunakan kaedah Html::a untuk menjana pautan dan lulus parameter $recipe->id.

  1. Pelaksanaan fungsi lain

Selain modul, pengawal dan model, ia juga perlu untuk melaksanakan fungsi seperti carian, pusat pengguna dan hujung belakang pentadbir. Saya tidak akan menyenaraikan semuanya di sini, tetapi hanya memperkenalkannya seperti berikut:

  • Cari: Gunakan kaedah ActiveRecord yang disediakan oleh rangka kerja Yii untuk membuat pertanyaan; pengesahan, penyuntingan maklumat dan pengumpulan , muat naik dan fungsi lain
  • Bahagian belakang pentadbir: Menyediakan log masuk pentadbir, menyemak, menambah, memadam, memaparkan dan fungsi lain.
  • 4. Ringkasan

Artikel ini memperkenalkan cara menggunakan rangka kerja Yii untuk mencipta tapak web makanan. Melalui pengenalan ringkas kepada rangka kerja Yii dan seni bina laman web makanan, serta penulisan kod sampel untuk rangka kerja Yii, pembaca boleh mempunyai pemahaman awal tentang cara menggunakan rangka kerja Yii untuk pembangunan aplikasi web. Sudah tentu, membangunkan laman web makanan sebenar memerlukan lebih banyak fungsi dan butiran untuk dilaksanakan, tetapi melalui maklumat dan rujukan yang disediakan dalam artikel ini, saya percaya pembaca sudah boleh menguasai kaedah asas bagaimana menggunakan rangka kerja Yii untuk membina laman web makanan yang mudah.

Atas ialah kandungan terperinci Buat laman web makanan menggunakan kerangka Yii. 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