0

My question is, for what do I need this formbuilder? Is it not enough for programmers like me, who has written the last years plain PHP code with simple CSS and HTML, that I have to learn Twig and to went into the Symfony system with all the learning stuff. Now I can't use Twig for forms. Ok, I learned this formbuilder stuff, too. No, problem. I have an idea of this now an I build my forms like this, but I can not see the benefit of it? If you write it in Twig, you can reuse it too, hmm ?

Perhaps there is a thing I just overlooked.

4

1 回答 1

3

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

表单验证 表单 中的数据根据​​实体属性的约束进行验证。很好很容易。

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

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

示例:您从数据库中获得 ISO8601 字符串 -> [魔法发生在这里] -> 使用 php DateTime 对象 -> [更多魔法] -> 为您的表单字段提供了很好的 Intl 格式和本地化日期。

+ optionsResolver

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

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

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

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

这只是在我的头上。

我曾经做过 PHP/HTML/CSS 的事情,但是当您手头有一个庞大而复杂的 Web 项目时,formBuilder 稍微增加的复杂性会增加巨大的灵活性。这就是像 Symfony 这样的框架大放异彩的地方。

于 2015-07-24T13:59:12.360 回答