>PHP 프레임워크 >YII >Yii 프레임워크를 사용하여 임대 웹사이트 만들기

Yii 프레임워크를 사용하여 임대 웹사이트 만들기

WBOY
WBOY원래의
2023-06-21 15:06:131039검색

현재 가장 인기 있는 PHP 프레임워크 중 하나인 Yii 프레임워크는 고성능, 높은 확장성 및 높은 보안이라는 장점을 가지고 있습니다. 점점 더 많은 개발자가 다양한 유형의 애플리케이션을 개발하기 위해 Yii 프레임워크를 선택하고 있습니다. 이 글에서는 Yii 프레임워크를 사용하여 임대 웹사이트를 만드는 방법을 소개합니다.

1. 환경 구성

Yii 프레임워크를 사용하여 임대 웹사이트를 만들려면 먼저 필요한 환경과 도구를 설치해야 합니다.

  1. PHP 환경: PHP5.4 이상이 필요합니다.
  2. 데이터베이스: 이 예는 다음과 같습니다. MySQL 데이터베이스를 사용합니다.
  3. Server: 이 예에서는 Apache 서버를 사용합니다.
  4. Yii 프레임워크: Yii 프레임워크를 다운로드하여 웹 서버 디렉터리에 압축을 풉니다.

2. 데이터베이스 생성

다음 테이블이 포함된 "house_rental"이라는 데이터베이스를 MySQL에 생성합니다.

  1. 주택 정보 테이블(house_info): 집 ID, 주소, 크기, 가격 등을 포함한 주택 정보를 저장합니다. 기타 정보
  2. 임차인 정보 테이블(tenant_info): 임차인 ID, 이름, 연락처 정보 및 기타 정보를 포함한 임차인 정보를 저장합니다.
  3. 주문 정보 테이블(order_info): 주문 ID, 주택 ID, 임차인 ID를 포함한 주문 정보를 저장합니다. , 대여 시간, 주문 상태 및 기타 정보를 제공합니다.

3. Yii 애플리케이션 생성

웹 서버 디렉터리에서 Yii 프레임워크에서 제공하는 명령줄 도구를 사용하여 Yii 애플리케이션을 생성합니다.

  1. 명령줄 도구를 열고 웹 서버 디렉터리를 입력한 후 다음을 실행합니다. 다음 명령:
php yii/framework/yii webapp house_rental

여기서 "house_rental"은 Yii 애플리케이션의 이름입니다.

  1. 생성 후 웹 서버 디렉터리에 새로 생성된 Yii 애플리케이션 폴더를 확인할 수 있습니다.

4. 데이터베이스 구성

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"입니다. " 각각 데이터베이스의 사용자 이름과 비밀번호를 입력합니다.

5. 데이터 모델 생성

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'),
          );
     }
}

6. 컨트롤러 및 뷰 생성

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; ?>

7. 애플리케이션을 시작합니다.

브라우저에 http://localhost/house_rental/index.php를 입력하고 웹페이지를 클릭합니다. 주택 목록을 참조하세요.

이제 간단한 렌탈 웹사이트가 생성되었습니다. 필요에 따라 기능을 확장하고 아름답게 할 수 있습니다. Yii 프레임워크를 사용하여 애플리케이션을 개발하면 개발 효율성과 코드 품질을 향상할 수 있으며 유지 관리 및 업데이트도 쉽습니다. 이 기사가 도움이 되기를 바랍니다.

위 내용은 Yii 프레임워크를 사용하여 임대 웹사이트 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.