作为当下最流行的PHP框架之一,Yii框架拥有高性能、高扩展性、高安全性等优势,越来越多的开发者选择使用Yii框架开发各种类型的应用。本文就介绍如何使用Yii框架创建一个租房网站
作为当下最流行的PHP框架之一,Yii框架拥有高性能、高扩展性、高安全性等优势,越来越多的开发者选择使用Yii框架开发各种类型的应用。本文就介绍如何使用Yii框架创建一个租房网站。
一、环境配置
使用Yii框架创建租房网站,首先需要安装必要的环境和工具:
- PHP环境:需要PHP5.4以上版本;
- 数据库:本示例使用MySQL数据库;
- 服务器:本示例使用Apache服务器;
- Yii框架:下载并解压Yii框架到web服务器目录。
二、创建数据库
在MySQL中创建一个名为“house_rental”的数据库,其中包含以下表:
- 房屋信息表(house_info):存储房屋信息,包括房屋ID、地址、大小、价格等信息;
- 租户信息表(tenant_info):存储租户信息,包括租户ID、姓名、联系方式等信息;
- 订单信息表(order_info):存储订单的信息,包括订单ID、房屋ID、租户ID、租房时间、订单状态等信息。
三、创建Yii应用
在web服务器目录下,使用Yii框架提供的命令行工具创建Yii应用:
- 打开命令行工具,进入web服务器目录,执行以下命令:
php yii/framework/yii webapp house_rental
其中,“house_rental”为Yii应用的名称。
- 创建后,在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,分别对应上述三个表。
- 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'), ); } }
- 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'=>20), ); } //定义关联关系,TenantInfo和OrderInfo是一对多的关系 public function relations() { return array( 'order_info'=>array(self::HAS_MANY, 'OrderInfo', 'tenant_id'), ); } }
- 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'=>11), ); } //定义关联关系,OrderInfo和HouseInfo是多对一的关系 public function relations() { return array( 'house_info'=>array(self::BELONGS_TO, 'HouseInfo', 'house_id'), ); } }
六、创建控制器和视图
在Yii应用文件夹中,创建一个控制器文件HouseController.php和一个视图文件house.php。
- HouseController.php文件:
<?php class HouseController extends Controller { public function actionIndex() { //查询所有房屋信息 $houses = HouseInfo::model()->findAll(); $this->render('house', array('houses' => $houses)); } }
- house.php文件:
<?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; ?>
七、启动应用
在浏览器中输入http://localhost/house_rental/index.php,在网页中即可看到房屋列表。
至此,一个简单的租房网站已经创建完成,你可以根据自己的需求进行功能扩展和美化。使用Yii框架开发应用,可以提高开发效率和代码质量,并且易于维护和更新。希望本文能对你有所帮助。