-
<?php: Etiqueta de apertura de PHP.
-
namespace App\Form;: Declaración del espacio de nombres para la clase. En este caso, la clase ContactType pertenece al espacio de nombres App\Form.
-
use Symfony\Component\Form\AbstractType;: Importa la clase AbstractType de Symfony, que es una clase base para la definición de formularios.
-
use Symfony\Component\Form\FormBuilderInterface;: Importa la interfaz FormBuilderInterface, que se utiliza para construir el formulario.
-
use Symfony\Component\OptionsResolver\OptionsResolver;: Importa la clase OptionsResolver, 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 clase ContactType que extiende de AbstractType.
-
public function buildForm(FormBuilderInterface $builder, array $options): void: Define un método llamado buildForm que toma un objeto FormBuilderInterface 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 llamado configureOptions que toma un objeto OptionsResolver. 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.