当前位置 : 主页 > 网络编程 > PHP >

使用Yii框架创建租房网站

来源:互联网 收集:自由互联 发布时间:2024-01-03
作为当下最流行的PHP框架之一,Yii框架拥有高性能、高扩展性、高安全性等优势,越来越多的开发者选择使用Yii框架开发各种类型的应用。本文就介绍如何使用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'=>200),
               array('price', 'length', 'max'=>50),
          );
     }
 
     //定义关联关系,HouseInfo和OrderInfo是一对多的关系
     public function relations()
     {
          return array(
               'order_info'=>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'=>20),
          );
     }
 
     //定义关联关系,TenantInfo和OrderInfo是一对多的关系
     public function relations()
     {
          return array(
               'order_info'=>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'=>11),
          );
     }
 
     //定义关联关系,OrderInfo和HouseInfo是多对一的关系
     public function relations()
     {
          return array(
               'house_info'=>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->render('house', array('houses' => $houses));
     }
}
  1. 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框架开发应用,可以提高开发效率和代码质量,并且易于维护和更新。希望本文能对你有所帮助。

上一篇:使用Workerman实现高性能的在线预订系统
下一篇:没有了
网友评论