Вопрос старый, но по-прежнему актуальный и еще не имеет хорошего ответа, поэтому я постараюсь дать вам некоторые преимущества и причины использовать formBuilder.
Проверка формы Данные в вашей форме проверяются на предмет ограничений свойств объекта. Довольно приятно и легко.
Тип выбора объекта Вы можете предварительно загружать прямоугольники с объектами без каких-либо усилий.
DataTransformers Вы можете применить определенные проверки, преобразования данных и форматирование между данными вида/нормы/модели.
Пример: вы получаете строку ISO8601, переданную из базы данных -> [magic происходит здесь] -> php DateTime Объект для работы с -> [более магия] -> красиво.
+ optionsResolver
... и если вы готовы пойти немного дальше Twig, вы можете в основном настроить визуализацию любого элемента формы, в любом случае вы можете думать.
Пример: с пользовательским определенно FormType и формой веточки виджетом, простой
->add('devices', 'device_selection', array(
'site' => $deviceGroup->getSite(),
'groups' => false,
'group' => $deviceGroup,
))
в вашей форме строителя, может доставить вам список флажков, каждый из которых обернут в DIV, с иконками и дополнительными деталями. Просто пример.
Это просто на моей голове.
Раньше я делал PHP/HTML/CSS-вещь, но когда у вас на руках огромный и сложный веб-проект, небольшая сложность с помощью formBuilder добавляет огромную гибкость. Вот где такие рамки, как Symfony, блестят.
Я думаю, что ваш ответ связан с «почему вы используете Symfony2». – pbenard
Я не могу ответить за Symfony2, но в версии 1.1+ идея заключалась в том, чтобы создать систему, которая легко добавила проверку и отчетность для каждого поля, сократив время выполнения, чтобы создать новый экран даже на длинных формах. К сожалению, это было чрезвычайно сложно использовать для простых форм, и в то время обратная связь на форуме заключалась в том, что более чем несколько человек отказывались от этого. Я не знаю, как это подавалось в dev системы форм в Symfony2. Однако я должен думать, что его причины для существования одинаковы - чтобы вы могли работать с презентабельной формой, с моментами проверки правильности, быстро. – halfer
Попробуйте написать сложные вложенные формы с сотнями статических + дополнительных полей, которые зависят от разных параметров в twig :) –