Yii -活动表单,表单,表单构建器-混淆



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

谁能好心地解释一下这些Yii元素,以及我们应该在什么情况下使用它们?

在CForm的文档中可以读到以下内容:

…我们可以划分一个形式分为两个部分:指定每个单独表单输入的部分,以及那些修饰表单输入的。CForm对象表示前一部分…

CActiveForm代表后者。

换句话说,CForm指定表单的元素,而CActiveForm(作为一个小部件)呈现它。

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

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

点击这里查看ActiveForm, CForm等的实例。您还可以看到实时模型,视图和;控制器文件。

最新更新