使用Gii

回顾

  • Git的使用(代码的获取、推送、冲突)
  • 前端资源的存放

Gii的作用

http://localhost:8080/yii-demo/frontend/web/gii

因为Gii生成的代码过于理想化,建议在实际开发过程中不使用,而只是把它生成的代码作为参考范例。

  • 生成模型
  • 生成增删改查(含控制器和视图)
  • 生成控制器
  • 生成表单
  • 生成Module
  • 生成Extension

生成模型

yii gii/model --tableName=restaurant --modelClass=Restaurant --ns=commonmodels

生成增删改查

新案例:新建省份表,并对此表中的字段进行增删改查。

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=commonmodels

# 插入原始数据
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)

接下来,简要分析下生成的Controllers和Views。

文章导航