01 Avr 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 }