Rumah > Artikel > rangka kerja php > Buat laman web perundingan kesihatan menggunakan rangka kerja Yii
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.
Sebelum anda bermula, pastikan anda telah memasang PHP dan MySQL serta rangka kerja Yii dipasang pada pelayan.
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:
Apabila membuat jadual artikel, kita perlu memasukkan medan berikut:
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', ],
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' => ['@'], ], ], ], ]; }
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; }
Sekarang, kita boleh Mula mencipta halaman laman web. Kita boleh mencipta pengawal yang dipanggil tapak dan mencipta halaman berikut di dalamnya:
Setiap halaman perlu mengandungi fail reka letak, termasuk pengepala, pengaki, bar navigasi dan elemen lain.
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!