为什么我需要Symfony表单生成器?有什么好处


Why do I need the Symfony formbuilder? Whats the benefit?

我的问题是,我需要这个表单构建器做什么?对于像我这样的程序员来说,这还不够吗?在过去的几年里,他们用简单的CSS和HTML编写了普通的PHP代码,我必须学习Twig,并带着所有学习的东西进入Symfony系统。现在我不能将 Twig 用于表单。好的,我也学会了这个表单构建器的东西。没关系。我现在有一个想法,我像这样构建我的表单,但我看不到它的好处?如果你用 Twig 写它,你也可以重用它,嗯?

也许有一件事我只是忽略了。

这个问题很旧,但仍然相关,还没有一个好的答案,所以我会尝试给你一些使用formBuilder的优势和理由。

表单验证表单中的数据根据实体属性的约束进行验证。相当不错,很容易。

实体选择类型您可以毫不费力地预加载带有实体的选定框。

数据转换器您可以在视图/规范/模型数据之间应用某些检查、数据转换和格式设置。

示例:您从数据库 -> [魔术发生在这里] -> php DateTime 对象ISO8601传递 -> [更多魔术] ->表单字段的 Intl 格式和本地化日期。

+ 选项旋转变压器

。如果你愿意在Twig上走得更远,你基本上可以以任何你能想到的方式自定义任何表单元素的渲染。

示例:使用自定义的 FormType 和 twig 表单小部件,一个简单的

->add('devices', 'device_selection', array(
                'site' => $deviceGroup->getSite(),
                'groups' => false,
                'group' => $deviceGroup,
            ))

在表单构建器中,可以为您提供一个复选框列表,每个复选框都包装在一个div 中,带有图标和其他详细信息。举个例子。

这只是在我的头顶上。

我曾经做过PHP/HTML/CSS-的事情,但是当你手上有一个庞大而复杂的Web项目时,formBuilder增加一点复杂性会增加巨大的灵活性。这就是像Symfony这样的框架闪耀的地方。