Yii フレームワークを使用してレンタル Web サイトを作成する

WBOY
リリース: 2023-06-21 15:06:13
オリジナル
900 人が閲覧しました

Yii フレームワークは、現在最も人気のある PHP フレームワークの 1 つであり、高パフォーマンス、高スケーラビリティ、高セキュリティという利点があり、さまざまな種類のアプリケーションを開発するために Yii フレームワークを使用する開発者が増えています。この記事では、Yii フレームワークを使用してレンタル Web サイトを作成する方法を紹介します。

1. 環境構成

Yii フレームワークを使用してレンタル Web サイトを作成するには、まず必要な環境とツールをインストールする必要があります:

  1. PHP 環境: PHP5.4 以降が必要です ;
  2. データベース: この例では MySQL データベースを使用します;
  3. サーバー: この例では Apache サーバーを使用します;
  4. Yii フレームワーク: ダウンロードして解凍しますYii フレームワークを Web サーバーディレクトリにコピーします。

2. データベースの作成

MySQL で「house_rental」という名前のデータベースを作成します。このデータベースには次のテーブルが含まれます:

  1. 住宅情報テーブル ( house_info ): 住宅 ID、住所、サイズ、価格、その他の情報を含む住宅情報を格納します;
  2. テナント情報テーブル (tenant_info): テナント ID、名前、連絡先情報、その他の情報を含むテナント情報を格納します;
  3. 注文情報テーブル (order_info): 注文 ID、住宅 ID、テナント ID、レンタル時間、注文ステータス、その他の情報を含む注文情報を保存します。

3. Yii アプリケーションの作成

Web サーバー ディレクトリで、Yii フレームワークが提供するコマンド ライン ツールを使用して Yii アプリケーションを作成します。 #コマンドラインツールを開き、Webサーバーディレクトリに入り、次のコマンドを実行します:

    php yii/framework/yii webapp house_rental
    ログイン後にコピー
  1. このうち、「house_rental」はYiiアプリケーションの名前です。

作成後、Web サーバー ディレクトリに新しく作成された Yii アプリケーション フォルダーが表示されます。

  1. 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 フォルダーに、上記の 3 つのファイルに対応する 3 つのデータモデルファイル 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'),
              );
         }
    }
    ログイン後にコピー
  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'),
              );
         }
    }
    ログイン後にコピー
  1. 6. コントローラーとビューの作成
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));
         }
    }
    ログイン後にコピー
  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; ?>
    ログイン後にコピー
  1. 7. アプリケーションを開始します
ブラウザに http://localhost/house_rental/index.php と入力すると、Web ページ上でハウスリストが表示されます。

現時点ではシンプルなレンタルサイトが作成されていますが、必要に応じて機能を拡張・美化していただけます。 Yii フレームワークを使用してアプリケーションを開発すると、開発効率とコードの品質が向上し、保守と更新が簡単になります。この記事があなたのお役に立てば幸いです。

以上がYii フレームワークを使用してレンタル Web サイトを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!