Quand un formulaire est créé en utilisant la commande symfony correspondante, deux méthodes sont automatiquement ajouter à la classe du formulaire et la classe étend AbstractType.
La première méthode buildForm permet d'ajouter des champs à notre formulaire.
Pour ajouter un champ il faut utiliser la méthode add de la propriété $builder.
use Symfony\Component\Form\Test\FormBuilderInterface;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('field_name')
;
}
La méthode add accepte plusieurs paramètres le premier étant le nom du champ, si le formulaire est relié à une entité il faut mettre la propriété correspondante de l'entité que l'on veut utiliser.
Le deuxième étant le type de champ du formulaire. Voir documentation.
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Test\FormBuilderInterface;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('field_name', TextType::class)
;
}
Le troisième est un tableau d'option permettant d'ajouter diverses options à notre champ comme un choice_label, un nom de label, un require ou autres. Voir Documentation.
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Test\FormBuilderInterface;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('field_name', TextType::class, [
'label' => 'Affiche',
'attr' => [
'placeholder' => 'url',
'required' => false
]
]);
}