El formulario se define mediante una clase llamada ContactType
, que extiende de AbstractType
, una clase base para la definición de formularios en Symfony.
Aquí hay una explicación línea por línea:
-
<?php
: Etiqueta de apertura de PHP. -
namespace App\Form;
: Declaración del espacio de nombres para la clase. En este caso, la claseContactType
pertenece al espacio de nombresApp\Form
. -
use Symfony\Component\Form\AbstractType;
: Importa la claseAbstractType
de Symfony, que es una clase base para la definición de formularios. -
use Symfony\Component\Form\FormBuilderInterface;
: Importa la interfazFormBuilderInterface
, que se utiliza para construir el formulario. -
use Symfony\Component\OptionsResolver\OptionsResolver;
: Importa la claseOptionsResolver
, que se utiliza para configurar las opciones del formulario. -
use Symfony\Component\Form\Extension\Core\Type\TextType;
: Importa el tipo de campo de texto. -
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
: Importa el tipo de campo de área de texto. -
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
: Importa el tipo de campo de botón de envío. -
class ContactType extends AbstractType
: Define la claseContactType
que extiende deAbstractType
. -
public function buildForm(FormBuilderInterface $builder, array $options): void
: Define un método llamadobuildForm
que toma un objetoFormBuilderInterface
y un array de opciones como argumentos. Este método se utiliza para construir el formulario. -
$builder->add('email', TextType::class)
: Agrega un campo de texto para la dirección de correo electrónico. -
$builder->add('message', TextareaType::class, ['label' => 'Comentario, sugerencia o mensaje'])
: Agrega un campo de área de texto para el mensaje, con una etiqueta personalizada. -
$builder->add('save', SubmitType::class, ['label' => 'Enviar'])
: Agrega un botón de envío con la etiqueta “Enviar”. -
public function configureOptions(OptionsResolver $resolver): void
: Define un método llamadoconfigureOptions
que toma un objetoOptionsResolver
. Este método se utiliza para configurar las opciones del formulario. -
$resolver->setDefaults([])
: Establece las opciones por defecto del formulario. En este caso, no se especifican opciones adicionales.
Este código es solo la definición del formulario. Para utilizarlo, deberías crear una instancia de esta clase en tu controlador Symfony y pasarla a la vista para que se renderice. Cuando el formulario se envía, Symfony manejará automáticamente la validación y el procesamiento de los datos ingresados.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?