La mayoría de sitios web incluye algún tipo de formulario, desde el formulario simple de contacto hasta formularios complejos con decenas de campos. Además, crear los formularios es una de las tareas más aburridas y difíciles de los programadores web: tienes que crear el código HTML del formulario, incluir reglas de validación para los datos de todos los campos, procesar los valores enviados por los usuarios y guardarlos en la base de datos, mostrar los posibles mensajes de error, volver a mostrar los datos en el formulario si se produce un error, etc.
Para no tener que reinventar la rueda continuamente, Symfony incluye un framework que facilita la gestión de los formularios. El framework de formularios de Symfony se compone de tres partes:
- validación: el subframework de validación incluye las clases necesarias para validar los datos (números enteros, cadenas de texto, direcciones de email, etc.)
- widgets: el subframework de widgets incluye las clases que muestra el código HTML de los campos del formulario (
<input>
,<textarea>
,<select>
, ...) - formularios: las clases de formulario representan a los formularios construidos con widgets y validadores y proporcionan métodos para facilitar la gestión del formulario. Cada campo del formulario dispone de su propio validador y su propio widget.