Mik*_*ike 10 symfony-forms symfony
我一直在使用Symfony Framework一段时间了,我一直想知道这些问题.
为什么表单元素在Symfony Framework中称为类型?
非常感谢向我解释.
这是因为你可以随意链接它们.如果您创建一个自定义表单类型,其中包含您要在特定页面上显示的所有字段(就像我正在为我正在创建的每个表单执行的那样),那么您可以在其他表单中重用此表单.
一个例子可能是你有一个地址的表单类型.在地址视图中,您只使用地址表单来编辑地址.但现在认为你有一个页面来创建一个新客户.例如,客户实体与地址有关系.您可以直接使用已定义地址类型的类型指定一个名为address的单个字段,而不是重复此表单类型中的必要字段.现在,地址表单直接嵌入此位置,并确保在将请求绑定到表单时创建一个正确类型的对象,以便稍后在用户地址实体属性上设置它.
现在回到原来的问题:如果你理解了彼此链接表单的这个概念,我们可以看一下DateType.DateType可以配置为单个HTML5输入字段,或者显示为三个单独的选择字段(一个用于年,月和日期).这里的概念完全相同.DateType将每个字段定义为ChoiceType.除此之外,DateType定义了在将数据绑定到表单时触发的转换器,以确保将da PHP DateTime对象正确转换为这三个单独的值,反之亦然.
我们还可以设想更高一级并想象一个DateTimeType.如果你手头有DateType和TimeType,那么装箱这样的类型非常简单.您只需要定义两个重用这些类型并进行转换的字段.
对于ChoceType,我们还有一个示例,它在内部使用RadioType和CheckboxType和SelectType来显示不同风格的选择形式.
因此,当你看到我们称之为完整形式部分和单个字段之间的区别时,它是非常边缘和理论上的.这就是symfony在这里命名没有任何区别的原因.
文档的一些进一步链接:如何创建自定义表单字段类型
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |