作為當下最受歡迎的PHP框架之一,Yii框架擁有高效能、高擴充性、高安全性等優勢,越來越多的開發者選擇使用Yii框架開發各種類型的應用。本文就介紹如何使用Yii框架建立一個租屋網站。
一、環境配置
使用Yii框架建立租屋網站,首先需要安裝必要的環境與工具:
二、建立資料庫
在MySQL中建立一個名為「house_rental」的資料庫,其中包含以下表格:
三、建立Yii應用程式
在web伺服器目錄下,使用Yii框架提供的命令列工具建立Yii應用程式:
php yii/framework/yii webapp house_rental
其中,「house_rental」為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,分別對應上述三個表。
<?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'), ); } }
<?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'), ); } }
<?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'), ); } }
六、建立控制器和視圖
在Yii應用程式資料夾中,建立一個控制器檔案HouseController.php和一個視圖檔案house.php。
<?php class HouseController extends Controller { public function actionIndex() { //查询所有房屋信息 $houses = HouseInfo::model()->findAll(); $this->render('house', array('houses' => $houses)); } }
以上是使用Yii框架創建租屋網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!