La création d’un formulaire avec Symfony

La création d’un formulaire avec Symfony

<?php
/*
Notre controlleur TestController.php
*/
namespace BlogBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
/* Pour qu'on peut utiliser Notre formulaire */
use BlogBundle\Form\testType; 

class TestController extends Controller
{
    public function testFormulaireAction() {
        
        $form = $this->createForm(new testType());
        
        if ($this->get('request')->getMethod() == 'POST')
        {
            $form->bind($this->get('request'));
            /* 
            Dans ce tutoriel on affiche juste tous les valeurs des inputs
            */
            var_dump($form->getData());

            $form = $this->createForm(new testType(),array('email' => 'hkadrille03@gmail.com',''));
        }
        
        return $this->render('BlogBundle:Default:test.html.twig', array('form' => $form->createView()));
    }

 

<?php
/*
On crée un dossier FORM dans notre Bundle BlogBundle
On crée un fichier testType.php
*/
namespace BlogBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

class testType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        /* Ici nous allons faire notre formulaire */
        $builder
            ->add('email','email') /* Le deuxiéme atribut est le Type de l'input */
            ->add('nom',null,array('required' => false))
            ->add('prenom')
            ->add('genre','choice',array('choices' => array('0' => 'homme','1' => 'femme'),'expanded' => false))
            ->add('envoyer','submit');
    }
    
    public function getName()
    {
        return 'blogbundle_test';
    }
}

 

{# Notre view test.html.twig #}

<form action="{{ path('test') }}" method="post">
{{ form(form) }}
</form>

 

#Routing

test:
    pattern:  /test
    defaults: { _controller: BlogBundle:Test:testFormulaire }