Sebagai salah satu rangka kerja PHP yang paling popular hari ini, rangka kerja Yii mempunyai kelebihan prestasi tinggi, berskala tinggi dan keselamatan yang tinggi Semakin ramai pembangun memilih untuk menggunakan rangka kerja Yii untuk membangunkan pelbagai jenis aplikasi. Artikel ini memperkenalkan cara menggunakan rangka kerja Yii untuk membuat tapak web sewaan.
1. Konfigurasi persekitaran
Untuk menggunakan rangka kerja Yii untuk membuat tapak web sewa, anda perlu memasang persekitaran dan alatan yang diperlukan:
Buat pangkalan data bernama "house_rental" dalam MySQL, yang mengandungi jadual berikut:
Jadual maklumat rumah ( house_info ): menyimpan maklumat rumah, termasuk ID rumah, alamat, saiz, harga dan maklumat lain; >Buka Alat baris arahan, masukkan direktori pelayan web dan laksanakan arahan berikut:
php yii/framework/yii webapp house_rental
'db'=>array( 'connectionString' => 'mysql:host=localhost;dbname=house_rental', 'emulatePrepare' => true, 'username' => 'username', 'password' => 'password', 'charset' => 'utf8', ),
Fail 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'), ); } }
<?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'), ); } }
Fail HouseController.php:
<?php class HouseController extends Controller { public function actionIndex() { //查询所有房屋信息 $houses = HouseInfo::model()->findAll(); $this->render('house', array('houses' => $houses)); } }
<?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; ?>
Atas ialah kandungan terperinci Buat tapak web sewa menggunakan rangka kerja Yii. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!