修改现有crud scaffolded模型,视图和控制器的工作流程

Gra*_*avy -1 workflow yii

我正在学习Yii框架.我以前总是在wordpress中构建插件,之前从未使用过PHP MVC框架.

  • 假设我设计了我的数据库
  • 使用Yiic shell - console来建模db并创建crud类等.
  • 将控制器和视图修改为我的自定义要求.

现在客户端需求发生变化,数据库中需要一个额外的字段.

  • 我修改数据库以将例如"tel2"字段添加到customer表.

我是否需要手动更新模型,视图和控制器以合并这些更改,还是保存自定义,然后让Yiic shell重新构建模型,视图和控制器,然后手动重新编写自定义?

我相信我也可以做到,但是有一种更简单的方法/你是否有一种方式可以使你的生活变得更轻松?

San*_*gha 5

当我开始Yii的时候,这也是我的一个问题.

简单的答案是你不必改变一切.Gii模块是Yii的一个非常强大的功能,在使用DB表之后制作CRUD和模型之后,如果您有自己的自定义函数和方法,那么您决定需要更改表并添加新列它,你需要做的就是用gii重新制作模型,它应该在一个标记为" diff " 的单独链接中显示修改后的代码.

Gii只生成代码,它不会覆盖它.

现在你需要做的就是打开"diff",确保你不会覆盖代码,因为也会有覆盖按钮.签出"diff"代码后,它将显示新列和突出显示的新属性,现在您需要做的就是将必需的更改代码复制到原始代码中.

这样,您可以根据需要进行任意数量的更改,而所有内容都保持不变.

还有另一种方法.您可以使用基类并将所有代码扩展到另一个文件中.这样,您需要做的就是更改基本模型,所有内容仍然保持不变.

dii图像

我想这应该已经回答了你的问题.

问候,