2013-09-26 2 views
0

Мой вопрос в том, для чего мне нужен этот formbuilder? Недостаточно ли для таких программистов, как я, которые написали простой PHP-код прошлых лет с помощью простых CSS и HTML, я должен изучить Twig и войти в систему Symfony со всеми учебными материалами. Теперь я не могу использовать Twig для форм. Хорошо, я тоже изучил этот материал формообразователя. Нет проблем. У меня есть идея об этом сейчас, я строю свои формы, как это, но я не вижу в этом пользы? Если вы напишете его в Twig, вы можете снова его использовать, хм?Зачем мне нужен формообразователь Symfony? Какая польза?

Возможно, есть вещь, которую я просто забыл.

+1

Я думаю, что ваш ответ связан с «почему вы используете Symfony2». – pbenard

+0

Я не могу ответить за Symfony2, но в версии 1.1+ идея заключалась в том, чтобы создать систему, которая легко добавила проверку и отчетность для каждого поля, сократив время выполнения, чтобы создать новый экран даже на длинных формах. К сожалению, это было чрезвычайно сложно использовать для простых форм, и в то время обратная связь на форуме заключалась в том, что более чем несколько человек отказывались от этого. Я не знаю, как это подавалось в dev системы форм в Symfony2. Однако я должен думать, что его причины для существования одинаковы - чтобы вы могли работать с презентабельной формой, с моментами проверки правильности, быстро. – halfer

+0

Попробуйте написать сложные вложенные формы с сотнями статических + дополнительных полей, которые зависят от разных параметров в twig :) –

ответ

3

Вопрос старый, но по-прежнему актуальный и еще не имеет хорошего ответа, поэтому я постараюсь дать вам некоторые преимущества и причины использовать 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, блестят.