Rumah  >  Artikel  >  rangka kerja php  >  Buat tapak web sewa menggunakan rangka kerja Yii

Buat tapak web sewa menggunakan rangka kerja Yii

WBOY
WBOYasal
2023-06-21 15:06:13893semak imbas

Sebagai salah satu rangka kerja PHP yang paling popular hari ini, rangka kerja Yii mempunyai kelebihan prestasi tinggi, berskala tinggi dan keselamatan yang tinggi Semakin ramai pembangun memilih untuk menggunakan rangka kerja Yii untuk membangunkan pelbagai jenis aplikasi. Artikel ini memperkenalkan cara menggunakan rangka kerja Yii untuk membuat tapak web sewaan.

1. Konfigurasi persekitaran

Untuk menggunakan rangka kerja Yii untuk membuat tapak web sewa, anda perlu memasang persekitaran dan alatan yang diperlukan:

  1. Persekitaran PHP: PHP5.4 atau lebih tinggi diperlukan ;
  2. Pangkalan Data: Contoh ini menggunakan pangkalan data MySQL
  3. Pelayan: Contoh ini menggunakan pelayan Apache; rangka kerja ke direktori pelayan web.
  4. 2. Cipta pangkalan data

Buat pangkalan data bernama "house_rental" dalam MySQL, yang mengandungi jadual berikut:

Jadual maklumat rumah ( house_info ): menyimpan maklumat rumah, termasuk ID rumah, alamat, saiz, harga dan maklumat lain; >
    Jadual maklumat pesanan (order_info): menyimpan maklumat pesanan, termasuk ID pesanan, ID rumah, ID penyewa, masa sewa, status pesanan dan maklumat lain.
  1. 3. Cipta aplikasi Yii
  2. Dalam direktori pelayan web, gunakan alat baris arahan yang disediakan oleh rangka kerja Yii untuk mencipta aplikasi Yii:

Buka Alat baris arahan, masukkan direktori pelayan web dan laksanakan arahan berikut:

php yii/framework/yii webapp house_rental

di mana "house_rental" ialah nama aplikasi Yii.
  1. Selepas penciptaan, anda boleh melihat folder aplikasi Yii yang baru dibuat dalam direktori pelayan web.

4. Konfigurasikan pangkalan data
  1. Dalam folder aplikasi Yii, buka fail protected/config/main.php. Dalam fail ini, gantikan coretan kod berikut dengan maklumat konfigurasi pangkalan data anda sendiri:
  2. 'db'=>array(
         'connectionString' => 'mysql:host=localhost;dbname=house_rental',
         'emulatePrepare' => true,
         'username' => 'username',
         'password' => 'password',
         'charset' => 'utf8',
    ),
di mana "localhost" ialah alamat hos pangkalan data, "house_rental" ialah nama pangkalan data yang dibuat dalam langkah sebelumnya, "nama pengguna" dan "kata laluan" ialah akaun log masuk pangkalan data dan kata laluan masing-masing.

5. Cipta model data

Dalam folder model folder aplikasi Yii, buat tiga fail model data HouseInfo.php, TenantInfo.php dan OrderInfo.php, sepadan dengan tiga fail di atas masing-masing.

Fail HouseInfo.php:

<?php
 
class HouseInfo extends CActiveRecord
{
     //指定数据库表名
     public function tableName()
     {
          return 'house_info';
     }
 
     //定义验证规则
     public function rules()
     {
          return array(
               array('address, size, price', 'required'),
               array('size', 'numerical', 'integerOnly'=>true),
               array('address', 'length', 'max'=>200),
               array('price', 'length', 'max'=>50),
          );
     }
 
     //定义关联关系,HouseInfo和OrderInfo是一对多的关系
     public function relations()
     {
          return array(
               'order_info'=>array(self::HAS_MANY, 'OrderInfo', 'house_id'),
          );
     }
}

    Fail TenantInfo.php:
  1. <?php
     
    class TenantInfo extends CActiveRecord
    {
         //指定数据库表名
         public function tableName()
         {
              return 'tenant_info';
         }
     
         //定义验证规则
         public function rules()
         {
              return array(
                   array('name, phone', 'required'),
                   array('name', 'length', 'max'=>50),
                   array('phone', 'length', 'max'=>20),
              );
         }
     
         //定义关联关系,TenantInfo和OrderInfo是一对多的关系
         public function relations()
         {
              return array(
                   'order_info'=>array(self::HAS_MANY, 'OrderInfo', 'tenant_id'),
              );
         }
    }
    Fail OrderInfo.php:
  1. <?php
     
    class OrderInfo extends CActiveRecord
    {
         //指定数据库表名
         public function tableName()
         {
              return 'order_info';
         }
     
         //定义验证规则
         public function rules()
         {
              return array(
                   array('house_id, tenant_id, order_date, status', 'required'),
                   array('status', 'in', 'range'=>array('pending', 'reserved', 'paid', 'cancelled')),
                   array('house_id, tenant_id', 'length', 'max'=>11),
              );
         }
     
         //定义关联关系,OrderInfo和HouseInfo是多对一的关系
         public function relations()
         {
              return array(
                   'house_info'=>array(self::BELONGS_TO, 'HouseInfo', 'house_id'),
              );
         }
    }
6. Cipta pengawal dan pandangan
  1. Dalam folder aplikasi Yii, cipta fail pengawal HouseController.php dan fail lihat house.php.

Fail HouseController.php:

<?php
 
class HouseController extends Controller
{
     public function actionIndex()
     {
          //查询所有房屋信息
          $houses = HouseInfo::model()->findAll();
          $this->render('house', array('houses' => $houses));
     }
}

    fail house.php:
  1. <?php
    $this->pageTitle=Yii::app()->name.' - 房屋列表';
    $this->breadcrumbs=array(
         '房屋列表',
    );
    ?>
     
    <h1>房屋列表</h1>
     
    <?php foreach($houses as $house): ?>
     
    <div class="house">
         <h2><?php echo $house->address; ?></h2>
         <div class="info">
              <p><strong>面积:</strong><?php echo $house->size; ?></p>
              <p><strong>价格:</strong><?php echo $house->price; ?></p>
         </div>
         <p><a href="#">查看更多</a></p>
    </div>
     
    <?php endforeach; ?>
7
    Masukkan http://localhost/house_rental/index.php dalam penyemak imbas dan anda akan melihat senarai rumah di halaman web.
  1. Pada ketika ini, laman web sewaan mudah telah dibuat Anda boleh memanjangkan dan mencantikkan fungsi mengikut keperluan anda. Menggunakan rangka kerja Yii untuk membangunkan aplikasi boleh meningkatkan kecekapan pembangunan dan kualiti kod, serta mudah diselenggara dan dikemas kini. Semoga artikel ini dapat membantu anda.

Atas ialah kandungan terperinci Buat tapak web sewa 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