Yii-Cactiveform、cform、表单生成器-混淆

Yii-Cactiveform、cform、表单生成器-混淆,yii,yii-cformmodel,yii-cform,Yii,Yii Cformmodel,Yii Cform,这是关于Yii的三个概念,我真的不明白在什么情况下我们应该使用什么 任何人都可以澄清这些Yii元素,以及我们应该在什么情况下使用它们吗?在一个人的文档中可以阅读以下内容: …我们可以分开一张表格 分为两部分:指定每个表单输入的部分,以及 那些装饰表单的输入。CForm对象表示前一部分 …和CActiveForm表示后者 换句话说,CForm指定表单的元素,但CActiveForm(作为小部件)呈现表单 查看源代码,我们指出,CForm本身也可以,其呈现依赖于CActiveForm小部件,并通过引

这是关于Yii的三个概念,我真的不明白在什么情况下我们应该使用什么

任何人都可以澄清这些Yii元素,以及我们应该在什么情况下使用它们吗?

在一个人的文档中可以阅读以下内容:

…我们可以分开一张表格 分为两部分:指定每个表单输入的部分,以及 那些装饰表单的输入。CForm对象表示前一部分

…和
CActiveForm
表示后者

换句话说,
CForm
指定表单的元素,但
CActiveForm
(作为小部件)呈现表单

查看源代码,我们指出,
CForm
本身也可以,其呈现依赖于
CActiveForm
小部件,并通过引入其配置属性来包装,尽管呈现输入元素和按钮是通过其自己的方法实现的,相对而言。默认情况下,它们的实现依赖于使用与
CActiveForm
的呈现方法完全相同(或几乎完全相同)的静态方法的类。当然,可以通过扩展类来覆盖默认行为

这就是为什么问题在于使用哪种技术:
CActiveForm
widget单独通过调用方便(必需)将表单字段和按钮的声明与它们在视图文件中的表示结合起来
CActiveForm
实例或
CForm
类的方法在单独的配置文件中声明表单的输入规范,并通过指向适当的活动表单小部件和/或重写默认呈现方法自定义其呈现。后一种技术允许在多个操作中轻松地重用一个表单,并且不超过。

检查ActiveForm、CForm等的实例。您还可以查看实时模型、视图和控制器文件