Rumah  >  Artikel  >  rangka kerja php  >  Buat laman web perundingan kesihatan menggunakan rangka kerja Yii

Buat laman web perundingan kesihatan menggunakan rangka kerja Yii

WBOY
WBOYasal
2023-06-21 15:34:361067semak imbas

Rangka kerja Yii ialah rangka kerja PHP berprestasi tinggi Corak reka bentuk MVC dan ciri pembangunan pantas menjadikannya pilihan yang ideal untuk membina aplikasi web. Artikel ini akan memperkenalkan anda cara menggunakan rangka kerja Yii untuk mencipta tapak web perundingan kesihatan.

  1. Persediaan

Sebelum anda bermula, pastikan anda telah memasang PHP dan MySQL serta rangka kerja Yii dipasang pada pelayan.

  1. Buat pangkalan data

Untuk menyimpan maklumat pengguna dan artikel, kita perlu mencipta pangkalan data MySQL bernama kesihatan. Buat dua jadual dalam pangkalan data, pengguna dan siaran. Antaranya, jadual pengguna digunakan untuk menyimpan maklumat pengguna, dan jadual siaran digunakan untuk menyimpan maklumat artikel.

Apabila membuat jadual pengguna, kita perlu memasukkan medan berikut:

  • id: ID unik pengguna, meningkat sendiri.
  • nama pengguna: nama pengguna.
  • e-mel: alamat e-mel pengguna.
  • kata laluan: kata laluan pengguna, disulitkan dan disimpan.
  • created_at: masa penciptaan pengguna.
  • updated_at: masa kemas kini terakhir pengguna.

Apabila membuat jadual artikel, kita perlu memasukkan medan berikut:

  • id: ID unik artikel, peningkatan automatik.
  • tajuk: tajuk artikel.
  • kandungan: kandungan artikel.
  • id_penulis: ID pengarang artikel.
  • created_at: masa penciptaan artikel.
  • updated_at: Masa artikel kali terakhir dikemas kini.
  1. Konfigurasikan rangka kerja Yii

Buka fail config/web.php dalam direktori pemasangan rangka kerja Yii dan konfigurasikan maklumat sambungan pangkalan data. Ubah suai kandungan berikut:

'db' => [
    'class' => 'yiidbConnection',
    'dsn' => 'mysql:host=localhost;dbname=health',
    'username' => 'your_database_username',
    'password' => 'your_database_password',
    'charset' => 'utf8',
],
  1. Buat sistem pengesahan pengguna

Dalam rangka kerja Yii, sistem pengesahan pengguna disepadukan, dan kami boleh menggunakannya untuk mengurus log masuk pengguna dan pendaftaran. Pertama, kita perlu mencipta tindakan log masuk dan pendaftaran dalam fail SiteController.php.

public function actionLogin()
{
    if (!Yii::$app->user->isGuest) {
        return $this->goHome();
    }

    $model = new LoginForm();
    if ($model->load(Yii::$app->request->post()) && $model->login()) {
        return $this->goBack();
    }

    return $this->render('login', [
        'model' => $model,
    ]);
}

public function actionSignup()
{
    $model = new SignupForm();
    if ($model->load(Yii::$app->request->post()) && $model->signup()) {
        return $this->goHome();
    }

    return $this->render('signup', [
        'model' => $model,
    ]);
}

Buat model Log Masuk dan Borang Pendaftaran untuk mengesahkan maklumat log masuk dan pendaftaran pengguna.

Akhir sekali, tambahkan kod berikut pada fail SiteController.php untuk menyekat akses pengguna ke halaman tertentu dan hanya boleh mengaksesnya selepas log masuk.

public function behaviors() {
   return [
       'access' => [
           'class' => AccessControl::className(),
           'rules' => [
                [
                    'actions' => ['login', 'signup'],
                    'allow' => true,
                    'roles' => ['?'],
                ],
                [
                    'actions' => ['logout', 'index', 'create-post'],
                    'allow' => true,
                    'roles' => ['@'],
                ],
           ],
       ],
   ];
}
  1. Buat sistem pengurusan artikel

Untuk membolehkan pengguna menerbitkan dan mengurus artikel, kami perlu membuat tindakan berikut dalam fail PostController.php:

public function actionCreate()
{
    $model = new Post();

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['view', 'id' => $model->id]);
    }

    return $this->render('create', [
        'model' => $model,
    ]);
}

public function actionUpdate($id)
{
    $model = $this->findModel($id);

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['view', 'id' => $model->id]);
    }

    return $this->render('update', [
        'model' => $model,
    ]);
}

public function actionView($id)
{
    return $this->render('view', [
        'model' => $this->findModel($id),
    ]);
}

public function actionIndex()
{
    $searchModel = new PostSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

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

protected function findModel($id)
{
    if (($model = Post::findOne($id)) !== null) {
        return $model;
    }

    throw new NotFoundHttpException('The requested page does not exist.');
}

Semasa membuat artikel, kami perlu menggunakan model Post untuk menerima data borang dan menambah peraturan pengesahan berikut dalam model:

public function rules()
{
    return [
        [['title', 'content'], 'required'],
        ['title', 'string', 'max' => 255],
        ['content', 'string'],
    ];
}

Untuk menambah fungsi carian artikel ke tapak web, anda boleh menggunakan model carian yang disediakan oleh rangka kerja Yii. Kita perlu mencipta fail yang dipanggil PostSearch.php di bawah folder model dan menambah kod berikut di dalamnya:

public function search($params)
{
    $query = Post::find();

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
    ]);

    $this->load($params);

    if (!$this->validate()) {
        return $dataProvider;
    }

    $query->andFilterWhere(['like', 'title', $this->title]);
    $query->andFilterWhere(['like', 'content', $this->content]);

    return $dataProvider;
}
  1. Buat halaman tapak web

Sekarang, kita boleh Mula mencipta halaman laman web. Kita boleh mencipta pengawal yang dipanggil tapak dan mencipta halaman berikut di dalamnya:

  • Halaman log masuk
  • Halaman pendaftaran
  • Halaman utama
  • Perihal Halaman
  • Halaman Kenalan

Setiap halaman perlu mengandungi fail reka letak, termasuk pengepala, pengaki, bar navigasi dan elemen lain.

  1. Terbitkan tapak web

Kini kami boleh menerbitkan tapak web ke pelayan dan mengujinya. Semak untuk melihat sama ada tapak berfungsi dengan betul dalam penyemak imbas anda dan uji bahawa setiap ciri berfungsi dengan betul.

Kesimpulan

Membina laman web perundingan kesihatan menggunakan rangka kerja Yii adalah tugas yang sangat mudah. Corak reka bentuk MVC dan ciri pembangunan pesat rangka kerja Yii menjadikannya pilihan ideal untuk membangunkan aplikasi web. Semasa proses pembangunan, ia bukan sahaja menyediakan pengguna dengan perkhidmatan perundingan kesihatan terbuka, tetapi juga menyediakan pembangun peluang untuk mempelajari dan menggunakan rangka kerja tersebut. Sudah tentu, kami boleh menggunakan rangka kerja Yii untuk mencipta aplikasi web yang lebih kompleks dan bergantung pada prestasi tinggi serta fleksibilitinya untuk memberikan pengguna pengalaman yang lebih baik.

Atas ialah kandungan terperinci Buat laman web perundingan kesihatan menggunakan rangka kerja 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