### 回顾
- Git的使用(代码的获取、推送、冲突)
- 前端资源的存放
### Gii的作用
http://localhost:8080/yii-demo/frontend/web/gii
>[warning] 因为Gii生成的代码过于理想化,建议在实际开发过程中不使用,而只是把它生成的代码作为参考范例。
- 生成模型
- 生成增删改查(含控制器和视图)
- 生成控制器
- 生成表单
- 生成Module
- 生成Extension
### 生成模型
~~~
yii gii/model --tableName=restaurant --modelClass=Restaurant --ns=common\models
~~~
### 生成增删改查
>[info] 新案例:新建省份表,并对此表中的字段进行增删改查。
~~~
yii migrate/create create_province
$this->createTable('province', [
'id' => $this->primaryKey(),
'name' => $this->string(20)->notNull(),
'capital' => $this->string(10)->notNull(),
'area' => $this->float(),
'city_number' => $this->integer()
]);
yii migrate
# 生成Model
yii gii/model --tableName=province --modelClass=Province --ns=common\models
# 插入原始数据
INSERT INTO province (name, capital, area, city_number) VALUES ( '江苏省', '南京市', 10.72, 13 );
INSERT INTO province (name, capital, area, city_number) VALUES ( '安徽省', '合肥市', 13.94, 16 );
INSERT INTO province (name, capital, area, city_number) VALUES ( '浙江省', '杭州市', 10.18, 11 );
INSERT INTO province (name, capital, area, city_number) VALUES ( '江西省', '南昌市', 16.69, 11 );
INSERT INTO province (name, capital, area, city_number) VALUES ( '山东省', '济南市', 15.80, 17 );
INSERT INTO province (name, capital, area, city_number) VALUES ( '甘肃省', '兰州市', 45.37, 12 );
INSERT INTO province (name, capital, area, city_number) VALUES ( '广东省', '广州市', 17.97, 21 );
INSERT INTO province (name, capital, area, city_number) VALUES ( '湖北省', '武汉市', 18.59, 11 );
INSERT INTO province (name, capital, area, city_number) VALUES ( '黑龙江省', '哈尔滨市', 47.3, 12);
INSERT INTO province (name, capital, area, city_number) VALUES ( '辽宁省', '沈阳市', 14.8, 14)
~~~
![](https://box.kancloud.cn/2016-04-07_5705d0d113beb.jpg)
接下来,简要分析下生成的Controllers和Views。