使用Yii框架創建租房網站

作為當下最流行的php框架之一,yii框架擁有高性能、高擴展性、高安全性等優勢,越來越多的開發者選擇使用yii框架開發各種類型的應用。本文就介紹如何使用yii框架創建一個租房網站。

一、環境配置

使用Yii框架創建租房網站,首先需要安裝必要的環境和工具:

  1. PHP環境:需要PHP5.4以上版本;
  2. 數據庫:本示例使用MySQL數據庫;
  3. 服務器:本示例使用Apache服務器;
  4. Yii框架:下載并解壓Yii框架到web服務器目錄。

二、創建數據庫

在MySQL中創建一個名為“house_rental”的數據庫,其中包含以下表:

  1. 房屋信息表(house_info):存儲房屋信息,包括房屋ID、地址、大小、價格等信息;
  2. 租戶信息表(tenant_info):存儲租戶信息,包括租戶ID、姓名、聯系方式等信息;
  3. 訂單信息表(order_info):存儲訂單的信息,包括訂單ID、房屋ID、租戶ID、租房時間、訂單狀態等信息。

三、創建Yii應用

在web服務器目錄下,使用Yii框架提供的命令行工具創建Yii應用:

  1. 打開命令行工具,進入web服務器目錄,執行以下命令:
php yii/framework/yii webapp house_rental

其中,“house_rental”為Yii應用的名稱。

  1. 創建后,在web服務器目錄下即可看到新建的Yii應用文件夾。

四、配置數據庫

在Yii應用文件夾中,打開protected/config/main.php文件。在該文件中,將以下代碼段替換為自己的數據庫配置信息:

'db'=>array(      'connectionString' => 'mysql:host=localhost;dbname=house_rental',      'emulatePrepare' => true,      'username' => 'username',      'password' => 'password',      'charset' => 'utf8', ),

其中,“localhost”為數據庫主機地址,“house_rental”為上一步中創建的數據庫名稱,“username”和“password”分別為數據庫登錄賬號和密碼。

五、創建數據模型

在Yii應用文件夾的models文件夾中,創建三個數據模型文件HouseInfo.php、TenantInfo.php和OrderInfo.php,分別對應上述三個表。

  1. 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'=&gt;200),                array('price', 'length', 'max'=&gt;50),           );      }        //定義關聯關系,HouseInfo和OrderInfo是一對多的關系      public function relations()      {           return array(                'order_info'=&gt;array(self::HAS_MANY, 'OrderInfo', 'house_id'),           );      } }
  1. TenantInfo.php文件:
<?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'=&gt;20),           );      }        //定義關聯關系,TenantInfo和OrderInfo是一對多的關系      public function relations()      {           return array(                'order_info'=&gt;array(self::HAS_MANY, 'OrderInfo', 'tenant_id'),           );      } }
  1. OrderInfo.php文件:
<?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'=&gt;11),           );      }        //定義關聯關系,OrderInfo和HouseInfo是多對一的關系      public function relations()      {           return array(                'house_info'=&gt;array(self::BELONGS_TO, 'HouseInfo', 'house_id'),           );      } }

六、創建控制器和視圖

在Yii應用文件夾中,創建一個控制器文件HouseController.php和一個視圖文件house.php。

  1. HouseController.php文件:
<?php class HouseController extends Controller {      public function actionIndex()      {           //查詢所有房屋信息           $houses = HouseInfo::model()->findAll();           $this-&gt;render('house', array('houses' =&gt; $houses));      } }
  1. house.php文件:
<?php $this->pageTitle=Yii::app()-&gt;name.' - 房屋列表'; $this-&gt;breadcrumbs=array(      '房屋列表', ); ?&gt;   <h1>房屋列表</h1>   <?php foreach($houses as $house): ?><div class="house">      <h2> <?php echo $house->address; ?&gt;</h2>      <div class="info">           <p><strong>面積:</strong><?php echo $house->size; ?&gt;</p>           <p><strong>價格:</strong><?php echo $house->price; ?&gt;</p>      </div>      <p><a href="#">查看更多</a></p> </div>   <?php endforeach; ?>

七、啟動應用

在瀏覽器中輸入http://localhost/house_rental/index.php,在網頁中即可看到房屋列表。

至此,一個簡單的租房網站已經創建完成,你可以根據自己的需求進行功能擴展和美化。使用Yii框架開發應用,可以提高開發效率和代碼質量,并且易于維護和更新。希望本文能對你有所幫助。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享