Creation formulaire en symfony 3

 

# FOND/UserBundle/Entity Formulaire.php

 

<?php

namespace FOND\UserBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**

* Formulaire

*

* @ORM\Table(name=”formulaire”)

* @ORM\Entity(repositoryClass=”FOND\UserBundle\Repository\FormulaireRepository”)

*/

class Formulaire

{

/**

* @var int

*

* @ORM\Column(name=”id”, type=”integer”)

* @ORM\Id

* @ORM\GeneratedValue(strategy=”AUTO”)

*/

private $id;

/**

* @var string

*

* @ORM\Column(name=”question1″, type=”string”, length=255)

*/

private $question1;

/**

* @var string

*

* @ORM\Column(name=”question2″, type=”string”, length=255)

*/

private $question2;

/**

* @var string

*

* @ORM\Column(name=”question3″, type=”string”, length=255)

*/

private $question3;

/**

* @var string

*

* @ORM\Column(name=”question4″, type=”string”, length=255)

*/

private $question4;

/**

* @var string

*

* @ORM\Column(name=”question5″, type=”string”, length=255)

*/

private $question5;

/**

* @var string

*

* @ORM\Column(name=”question6″, type=”string”, length=255)

*/

private $question6;

/**

* @var string

*

* @ORM\Column(name=”question7″, type=”string”, length=255)

*/

private $question7;

/**

* @var string

*

* @ORM\Column(name=”question8″, type=”string”, length=255)

*/

private $question8;

/**

* @var string

*

* @ORM\Column(name=”question9″, type=”string”, length=255)

*/

private $question9;

/**

* @var string

*

* @ORM\Column(name=”question10″, type=”string”, length=255)

*/

private $question10;

/**

* Get id

*

* @return int

*/

public function getId()

{

return $this->id;

}

/**

* Set question1

*

* @param string $question1

*

* @return Formulaire

*/

public function setQuestion1($question1)

{

$this->question1 = $question1;

return $this;

}

/**

* Get question1

*

* @return string

*/

public function getQuestion1()

{

return $this->question1;

}

/**

* Set question2

*

* @param string $question2

*

* @return Formulaire

*/

public function setQuestion2($question2)

{

$this->question2 = $question2;

return $this;

}

/**

* Get question2

*

* @return string

*/

public function getQuestion2()

{

return $this->question2;

}

/**

* Set question3

*

* @param string $question3

*

* @return Formulaire

*/

public function setQuestion3($question3)

{

$this->question3 = $question3;

return $this;

}

/**

* Get question3

*

* @return string

*/

public function getQuestion3()

{

return $this->question3;

}

/**

* Set question4

*

* @param string $question4

*

* @return Formulaire

*/

public function setQuestion4($question4)

{

$this->question4 = $question4;

return $this;

}

/**

* Get question4

*

* @return string

*/

public function getQuestion4()

{

return $this->question4;

}

/**

* Set question5

*

* @param string $question5

*

* @return Formulaire

*/

public function setQuestion5($question5)

{

$this->question5 = $question5;

return $this;

}

/**

* Get question5

*

* @return string

*/

public function getQuestion5()

{

return $this->question5;

}

/**

* Set question6

*

* @param string $question6

*

* @return Formulaire

*/

public function setQuestion6($question6)

{

$this->question6 = $question6;

return $this;

}

/**

* Get question6

*

* @return string

*/

public function getQuestion6()

{

return $this->question6;

}

/**

* Set question7

*

* @param string $question7

*

* @return Formulaire

*/

public function setQuestion7($question7)

{

$this->question7 = $question7;

return $this;

}

/**

* Get question7

*

* @return string

*/

public function getQuestion7()

{

return $this->question7;

}

/**

* Set question8

*

* @param string $question8

*

* @return Formulaire

*/

public function setQuestion8($question8)

{

$this->question8 = $question8;

return $this;

}

/**

* Get question8

*

* @return string

*/

public function getQuestion8()

{

return $this->question8;

}

/**

* Set question9

*

* @param string $question9

*

* @return Formulaire

*/

public function setQuestion9($question9)

{

$this->question9 = $question9;

return $this;

}

/**

* Get question9

*

* @return string

*/

public function getQuestion9()

{

return $this->question9;

}

/**

* Set question10

*

* @param string $question10

*

* @return Formulaire

*/

public function setQuestion10($question10)

{

$this->question10 = $question10;

return $this;

}

/**

* Get question10

*

* @return string

*/

public function getQuestion10()

{

return $this->question10;

}

}

 

# FOND/UserBundle/Controller Formulaire Controller.php

 

<?php

namespace FOND\UserBundle\Controller;

use FOND\UserBundle\Entity\Formulaire;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;use Symfony\Component\HttpFoundation\Request;

/**

* Formulaire controller.

*

* @Route(“formulaire”)

*/

class FormulaireController extends Controller

{

/**

* Lists all formulaire entities.

*

* @Route(“/”, name=”formulaire_index”)

* @Method(“GET”)

*/

public function indexAction()

{

$em = $this->getDoctrine()->getManager();

$formulaires = $em->getRepository(‘FONDUserBundle:Formulaire’)->findAll();

return $this->render(‘formulaire/index.html.twig’, array(

‘formulaires’ => $formulaires,

));

}

/**

* Creates a new formulaire entity.

*

* @Route(“/new”, name=”formulaire_new”)

* @Method({“GET”, “POST”})

*/

public function newAction(Request $request)

{

$formulaire = new Formulaire();

$form = $this->createForm(‘FOND\UserBundle\Form\FormulaireType’, $formulaire);

$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {

$em = $this->getDoctrine()->getManager();

$em->persist($formulaire);

$em->flush();

return $this->redirectToRoute(‘formulaire_show’, array(‘id’ => $formulaire->getId()));

}

return $this->render(‘formulaire/new.html.twig’, array(

‘formulaire’ => $formulaire,

‘form’ => $form->createView(),

));

}

/**

* Finds and displays a formulaire entity.

*

* @Route(“/{id}”, name=”formulaire_show”)

* @Method(“GET”)

*/

public function showAction(Formulaire $formulaire)

{

$deleteForm = $this->createDeleteForm($formulaire);

return $this->render(‘formulaire/show.html.twig’, array(

‘formulaire’ => $formulaire,

‘delete_form’ => $deleteForm->createView(),

));

}

/**

* Displays a form to edit an existing formulaire entity.

*

* @Route(“/{id}/edit”, name=”formulaire_edit”)

* @Method({“GET”, “POST”})

*/

public function editAction(Request $request, Formulaire $formulaire)

{

$deleteForm = $this->createDeleteForm($formulaire);

$editForm = $this->createForm(‘FOND\UserBundle\Form\FormulaireType’, $formulaire);

$editForm->handleRequest($request);

if ($editForm->isSubmitted() && $editForm->isValid()) {

$this->getDoctrine()->getManager()->flush();

return $this->redirectToRoute(‘formulaire_edit’, array(‘id’ => $formulaire->getId()));

}

return $this->render(‘formulaire/edit.html.twig’, array(

‘formulaire’ => $formulaire,

‘edit_form’ => $editForm->createView(),

‘delete_form’ => $deleteForm->createView(),

));

}

/**

* Deletes a formulaire entity.

*

* @Route(“/{id}”, name=”formulaire_delete”)

* @Method(“DELETE”)

*/

public function deleteAction(Request $request, Formulaire $formulaire)

{

$form = $this->createDeleteForm($formulaire);

$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {

$em = $this->getDoctrine()->getManager();

$em->remove($formulaire);

$em->flush();

}

return $this->redirectToRoute(‘formulaire_index’);

}

/**

* Creates a form to delete a formulaire entity.

*

* @param Formulaire $formulaire The formulaire entity

*

* @return \Symfony\Component\Form\Form The form

*/

private function createDeleteForm(Formulaire $formulaire)

{

return $this->createFormBuilder()

->setAction($this->generateUrl(‘formulaire_delete’, array(‘id’ => $formulaire->getId())))

->setMethod(‘DELETE’)

->getForm()

;

}

}

 

#FOND/UserBundle/Form FormulaireType.php

 

<?php

namespace FOND\UserBundle\Form;

use Symfony\Component\Form\AbstractType;

use Symfony\Component\Form\FormBuilderInterface;

use Symfony\Component\OptionsResolver\OptionsResolver;

use Symfony\Component\Form\Extension\Core\Type\ChoiceType;

class FormulaireType extends AbstractType

{

/**

* {@inheritdoc}

*/

public function buildForm(FormBuilderInterface $builder, array $options)

{

$builder->add(‘question1’, ChoiceType::class, array(

‘label’ => ‘Choice’,

‘choices’ => array(

‘Page Helper Process’ => ‘1’,

‘Programming Home Pages’ => ‘2’,

‘PHP: Hypertext Preprocessor’ => ‘3’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question2’, ChoiceType::class, array(

‘choices’ => array(

‘ strlen’ => ‘1’,

‘strlength’=> ‘2’,

‘length’ => ‘3’,

‘substr’ => ‘4’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question3’, ChoiceType::class, array(

‘choices’ => array(

‘$tableau[1]’ => ‘1’,

‘$tableau[0]’ => ‘2’,

‘$tableau{0}’ => ‘3’,

‘$tableau.get(1)’ => ‘3’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question4’, ChoiceType::class, array(

‘choices’ => array(

‘$a = $b’ => ‘1’,

‘$a == $b’ => ‘2’,

‘$a != $b’ => ‘3’,

‘if($a,$b)’ => ‘4’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question5’, ChoiceType::class, array(

‘choices’ => array(

‘Il sert à vérifier que toutes les conditions sont réalisées.’ => ‘1’,

‘Il sert à vérifier qu\’une, et une seule, des conditions est réalisée.’ => ‘2’,

‘Il sert à vérifier qu\’une, au moins, des conditions est réalisée.’ => ‘3’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question6’, ChoiceType::class, array(

‘choices’ => array(

‘ 0 ou 1’ => ‘1’,

‘TRUE ou FALSE’ => ‘2’,

‘Toutes sauf NULL’ => ‘3’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question7’, ChoiceType::class, array(

‘choices’ => array(

‘Sera éxécutée 2 fois’ => ‘1’,

‘Sera éxécutée 3 fois’ => ‘2’,

‘Sera éxécutée 4 fois’ => ‘3’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question8’, ChoiceType::class, array(

‘choices’ => array(

‘echo \’$a = quatre\” => ‘1’,

‘echo \’$a = 2+2\” => ‘2’,

‘echo “$a = quatre”‘ => ‘3’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question9’, ChoiceType::class, array(

‘choices’ => array(

‘3’ => ‘1’,

‘8’ => ‘2’,

’12’ => ‘3’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true))->add(‘question10’, ChoiceType::class, array(

‘choices’ => array(

‘get’ => ‘1’,

‘mailto’ => ‘2’,

‘post’ => ‘3’),

‘choices_as_values’ => true,’multiple’=>false,’expanded’=>true));

}/**

* {@inheritdoc}

*/

public function configureOptions(OptionsResolver $resolver)

{

$resolver->setDefaults(array(

‘data_class’ => ‘FOND\UserBundle\Entity\Formulaire’

));

}

/**

* {@inheritdoc}

*/

public function getBlockPrefix()

{

return ‘fond_userbundle_formulaire’;

}

}

 

# edit.html.twig

 

{% extends ‘base.html.twig’ %}

{% block body %}

<h1>Formulaire edit</h1>

 

<div id=”hrtop” class=”hrtop”><div class=”arf”></div><div class=”progress” style=”width: 0%;”></div></div>

<header>

<div id=”submenu” class=”submenu “>

<ul class=”submenu-list”><li class=”item ” id=”submenu-tutoriels”><span><a href=”/tutoriels/”>Tutoriels et astuces</a></span></li><li class=”item ” id=”submenu-outils”><span><a href=”/outils/”>Outils</a></span></li><li class=”item ” id=”submenu-livres”><span><a href=”/livres/”>Livres</a></span></li><li class=”item active” id=”submenu-quiz”><span><a href=”/quiz/”>Quiz</a></span></li></ul> <form id=”search” class=”site-search” role=”search” action=”/search/” method=”post”>

<div class=”search-rb”>

<label for=”search-q” class=”visuallyhidden”>Rechercher</label>

<i aria-hidden=”true” class=”icon-search”></i>

<input id=”search-q” class=”search-q” name=”q” placeholder=”Tutoriel, propriété css…” value=”” type=”text”>

</div>

<input class=”search-submit awesome” value=”OK” name=”recherche-submit” type=”submit”>

</form>

 

</div>

<!– /submenu –>

</header>

<!– /navigation et sous-navigation –>

<div id=”wtf” class=”alsa-wtf” style=”” aria-hidden=”false”>

<p>Bienvenue&nbsp;! Ingecole est une communauté dédiée à l’apprentissage des standards web (HTML, CSS, JavaScript, PHP, SYMFONY ), du design et de l’accessibilité numérique. Vous y trouverez tutoriels, forum, et bien d’autres choses. <a href=”https://ingecole.fr” style=”text-decoration: underline;”>Créez votre profil</a> en quelques secondes pour participer&nbsp;!</p>

<a href=”#” class=”notif-close” title=”Ne plus voir ce message” aria-controls=”wtf”><i aria-hidden=”true” class=”icon-cancel-circled-outline”></i> Masquer</a>

</div>

<div id=”global” class=”site-global”>

<div id=”page” class=”site-page”>

<div class=”content” role=”main”>

<h2>Quiz PHP débutant</h2>

<!– <form method=”post” action=”/quiz/resultat/12″ class=”lecture”>–>

{{ form_start(edit_form) }}

<div class=”quiz-question”>

<div class=”quiz-numero”><span>1</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Que signifie PHP&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!–<li><input type=”radio” name=”rep[0]” value=”1″ id=”q0r1″> <label for=”q0r1″>Page Helper Process</label></li><li><input type=”radio” name=”rep[0]” value=”2″ id=”q0r2″> <label for=”q0r2″>Programming Home Pages</label></li><li><input type=”radio” name=”rep[0]” value=”3″ id=”q0r3″> <label for=”q0r3″>PHP: Hypertext Preprocessor</label></li> </ul>

–>

{{ form_widget(edit_form.question1) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>2</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Quelle fonction retourne la longueur d’une chaîne de texte&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[1]” value=”1″ id=”q1r1″> <label for=”q1r1″>strlen</label></li><li><input type=”radio” name=”rep[1]” value=”2″ id=”q1r2″> <label for=”q1r2″>strlength</label></li><li><input type=”radio” name=”rep[1]” value=”3″ id=”q1r3″> <label for=”q1r3″>length</label></li><li><input type=”radio” name=”rep[1]” value=”4″ id=”q1r4″> <label for=”q1r4″>substr</label></li> </ul>

–> {{ form_widget(edit_form.question2) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>3</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Comment accède-t-on au 1er élément chaton dans le tableau suivant : $tableau = Array(‘chaton’ , ‘ornithorynque’, ‘dauphin’);&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[2]” value=”1″ id=”q2r1″> <label for=”q2r1″>$tableau[1]</label></li><li><input type=”radio” name=”rep[2]” value=”2″ id=”q2r2″> <label for=”q2r2″>$tableau[0]</label></li><li><input type=”radio” name=”rep[2]” value=”3″ id=”q2r3″> <label for=”q2r3″>$tableau{0}</label></li><li><input type=”radio” name=”rep[2]” value=”4″ id=”q2r4″> <label for=”q2r4″>$tableau.get(1)</label></li> </ul>

–>

{{ form_widget(edit_form.question3) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>4</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Comment vérifie-t-on l’égalité de deux variables : $a et $b&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[3]” value=”1″ id=”q3r1″> <label for=”q3r1″>$a = $b</label></li><li><input type=”radio” name=”rep[3]” value=”2″ id=”q3r2″> <label for=”q3r2″>$a == $b</label></li><li><input type=”radio” name=”rep[3]” value=”3″ id=”q3r3″> <label for=”q3r3″>$a != $b</label></li><li><input type=”radio” name=”rep[3]” value=”4″ id=”q3r4″> <label for=”q3r4″>if($a,$b)</label></li> </ul>

–>

{{ form_widget(edit_form.question4) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>5</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Quelle est l’utilité de l’opérateur ||&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!–<li><input type=”radio” name=”rep[4]” value=”1″ id=”q4r1″> <label for=”q4r1″>Il sert à vérifier que toutes les conditions sont réalisées.</label></li><li><input type=”radio” name=”rep[4]” value=”2″ id=”q4r2″> <label for=”q4r2″>Il sert à vérifier qu’une, et une seule, des conditions est réalisée.</label></li><li><input type=”radio” name=”rep[4]” value=”3″ id=”q4r3″> <label for=”q4r3″>Il sert à vérifier qu’une, au moins, des conditions est réalisée.</label></li> </ul>

–>

{{ form_widget(edit_form.question5) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>6</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Quelles valeurs peut prendre le type booléen&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!–<li><input type=”radio” name=”rep[5]” value=”1″ id=”q5r1″> <label for=”q5r1″>0 ou 1</label></li><li><input type=”radio” name=”rep[5]” value=”2″ id=”q5r2″> <label for=”q5r2″>TRUE ou FALSE</label></li><li><input type=”radio” name=”rep[5]” value=”3″ id=”q5r3″> <label for=”q5r3″>Toutes sauf NULL</label></li> </ul>

–> {{ form_widget(edit_form.question6) }}

 

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>7</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>La boucle for ($i=0 ; $i&lt;=3 ; $i++ ) { echo $i; }…</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[6]” value=”1″ id=”q6r1″> <label for=”q6r1″>Sera éxécutée 2 fois</label></li><li><input type=”radio” name=”rep[6]” value=”2″ id=”q6r2″> <label for=”q6r2″>Sera éxécutée 3 fois</label></li><li><input type=”radio” name=”rep[6]” value=”3″ id=”q6r3″> <label for=”q6r3″>Sera éxécutée 4 fois</label></li> </ul>

–>

{{ form_widget(edit_form.question7) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>8</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Sachant que $a = 4. Quelle instruction affiche : 4 = quatre&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[7]” value=”1″ id=”q7r1″> <label for=”q7r1″>echo ‘$a = quatre’;</label></li><li><input type=”radio” name=”rep[7]” value=”2″ id=”q7r2″> <label for=”q7r2″>echo ‘$a = 2+2’;</label></li><li><input type=”radio” name=”rep[7]” value=”3″ id=”q7r3″> <label for=”q7r3″>echo “$a = quatre”;</label></li> </ul>

–> {{ form_widget(edit_form.question8) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>9</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Sachant que $dodo = 6. Quelle est la valeur de ma nuit : $dodo += 2;&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[8]” value=”1″ id=”q8r1″> <label for=”q8r1″>3</label></li><li><input type=”radio” name=”rep[8]” value=”2″ id=”q8r2″> <label for=”q8r2″>8</label></li><li><input type=”radio” name=”rep[8]” value=”3″ id=”q8r3″> <label for=”q8r3″>12</label></li> </ul>

–>{{ form_widget(edit_form.question9) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>10</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Dans le cas d’envoi d’informations plus ou moins sensibles par formulaire, quelle méthode utilisera-t-on de préférence&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[9]” value=”1″ id=”q9r1″> <label for=”q9r1″>get</label></li><li><input type=”radio” name=”rep[9]” value=”2″ id=”q9r2″> <label for=”q9r2″>mailto</label></li><li><input type=”radio” name=”rep[9]” value=”3″ id=”q9r3″> <label for=”q9r3″>post</label></li> </ul>

–>

{{ form_widget(edit_form.question10) }}

</div>

</div>

</div> <!– quiz-question –>

<input type=”submit” value=”Create” />

{{ form_end(edit_form) }}

<!–

<p class=”center quiz-submit”><input type=”submit” value=”Valider les réponses” class=”awesome orange large”></p>

</form>–>

<ul>

<li>

<a class=”btn btn-info” href=”{{ path(‘formulaire_index’) }}”>Back to the list</a>

</li>

<li>

{{ form_start(delete_form) }}

<input class=”btn btn-danger” type=”submit” value=”Delete”>

{{ form_end(delete_form) }}

</li>

</ul>

</div> <!– .content –>

</div> <!– #page –>

</div><!– #global –>

<footer id=”footer-menu” class=”site-footer-menu”>

</footer>

<!– Footer-end : logo, presentation –>

<div id=”footer-end” class=”site-footer-end”>

 

<div class=”print”><p>https://ingecole.fr</p></div>

</div> <!– fin de footer-end –>

<script>jQuery(document).ready(function($) {

$(‘.megamenu’).accessibleMegaMenu();

setTimeout(function () {

$(‘body’).removeClass(‘init’);

}, 500);

if(typeof autosize !== ‘undefined’) autosize(jQuery(‘.autosize’));

});</script>

<div><div class=”” style=”display: block; opacity: 0.52;” id=”pageShadowLuminositeDiv”></div></div>

{% endblock %}

 

# index.html.twig

 

{% extends ‘base.html.twig’ %}

{% block body %}

<h1>Formulaires list</h1>

<table>

<thead>

<tr>

<th>Id</th>

<th>Question1</th>

<th>Question2</th>

<th>Question3</th>

<th>Question4</th>

<th>Question5</th>

<th>Question6</th>

<th>Question7</th>

<th>Question8</th>

<th>Question9</th>

<th>Question10</th>

<th>Actions</th>

</tr>

</thead>

<tbody>

{% for formulaire in formulaires %}

<tr>

<td><a href=”{{ path(‘formulaire_show’, { ‘id’: formulaire.id }) }}”>{{ formulaire.id }}</a></td>

<td>{{ formulaire.question1 }}</td>

<td>{{ formulaire.question2 }}</td>

<td>{{ formulaire.question3 }}</td>

<td>{{ formulaire.question4 }}</td>

<td>{{ formulaire.question5 }}</td>

<td>{{ formulaire.question6 }}</td>

<td>{{ formulaire.question7 }}</td>

<td>{{ formulaire.question8 }}</td>

<td>{{ formulaire.question9 }}</td>

<td>{{ formulaire.question10 }}</td>

<td>

<ul>

<li>

<a href=”{{ path(‘formulaire_show’, { ‘id’: formulaire.id }) }}”>show</a>

</li>

<li>

<a href=”{{ path(‘formulaire_edit’, { ‘id’: formulaire.id }) }}”>edit</a>

</li>

</ul>

</td>

</tr>

{% endfor %}

</tbody>

</table>

<ul>

<li>

<a href=”{{ path(‘formulaire_new’) }}”>Create a new formulaire</a>

</li>

</ul>

 

{% endblock %}

 

# new.html.twig

 

{% extends ‘base.html.twig’ %}

{% block body %}

<h1>Formulaire creation</h1>

<div id=”hrtop” class=”hrtop”><div class=”arf”></div><div class=”progress” style=”width: 0%;”></div></div>

<header>

<div id=”submenu” class=”submenu “>

<ul class=”submenu-list”><li class=”item ” id=”submenu-tutoriels”><span><a href=”/tutoriels/”>Tutoriels et astuces</a></span></li><li class=”item ” id=”submenu-outils”><span><a href=”/outils/”>Outils</a></span></li><li class=”item ” id=”submenu-livres”><span><a href=”/livres/”>Livres</a></span></li><li class=”item active” id=”submenu-quiz”><span><a href=”/quiz/”>Quiz</a></span></li></ul> <form id=”search” class=”site-search” role=”search” action=”/search/” method=”post”>

<div class=”search-rb”>

<label for=”search-q” class=”visuallyhidden”>Rechercher</label>

<i aria-hidden=”true” class=”icon-search”></i>

<input id=”search-q” class=”search-q” name=”q” placeholder=”Tutoriel, propriété css…” value=”” type=”text”>

</div>

<input class=”search-submit awesome” value=”OK” name=”recherche-submit” type=”submit”>

</form>

 

</div>

<!– /submenu –>

</header>

<!– /navigation et sous-navigation –>

<div id=”wtf” class=”alsa-wtf” style=”” aria-hidden=”false”>

<p>Bienvenue&nbsp;! Ingecole est une communauté dédiée à l’apprentissage des standards web (HTML, CSS, JavaScript, PHP, SYMFONY ), du design et de l’accessibilité numérique. Vous y trouverez tutoriels, forum, et bien d’autres choses. <a href=”https://ingecole.fr” style=”text-decoration: underline;”>Créez votre profil</a> en quelques secondes pour participer&nbsp;!</p>

<a href=”#” class=”notif-close” title=”Ne plus voir ce message” aria-controls=”wtf”><i aria-hidden=”true” class=”icon-cancel-circled-outline”></i> Masquer</a>

</div>

<div id=”global” class=”site-global”>

<div id=”page” class=”site-page”>

<div class=”content” role=”main”>

<h2>Quiz PHP débutant</h2>

<!– <form method=”post” action=”/quiz/resultat/12″ class=”lecture”>–>

{{ form_start(form) }}

<div class=”quiz-question”>

<div class=”quiz-numero”><span>1</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Que signifie PHP&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!–<li><input type=”radio” name=”rep[0]” value=”1″ id=”q0r1″> <label for=”q0r1″>Page Helper Process</label>

</li>

<li><input type=”radio” name=”rep[0]” value=”2″ id=”q0r2″> <label for=”q0r2″>Programming Home Pages</label>

</li><li><input type=”radio” name=”rep[0]” value=”3″ id=”q0r3″> <label for=”q0r3″>PHP: Hypertext Preprocessor</label>

</li> –>

{{ form_widget(form.question1) }}

</ul>

 

 

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>2</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Quelle fonction retourne la longueur d’une chaîne de texte&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[1]” value=”1″ id=”q1r1″> <label for=”q1r1″>strlen</label></li><li><input type=”radio” name=”rep[1]” value=”2″ id=”q1r2″> <label for=”q1r2″>strlength</label></li><li><input type=”radio” name=”rep[1]” value=”3″ id=”q1r3″> <label for=”q1r3″>length</label></li><li><input type=”radio” name=”rep[1]” value=”4″ id=”q1r4″> <label for=”q1r4″>substr</label></li> </ul>

–> {{ form_widget(form.question2) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>3</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Comment accède-t-on au 1er élément chaton dans le tableau suivant : $tableau = Array(‘chaton’ , ‘ornithorynque’, ‘dauphin’);&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[2]” value=”1″ id=”q2r1″> <label for=”q2r1″>$tableau[1]</label></li><li><input type=”radio” name=”rep[2]” value=”2″ id=”q2r2″> <label for=”q2r2″>$tableau[0]</label></li><li><input type=”radio” name=”rep[2]” value=”3″ id=”q2r3″> <label for=”q2r3″>$tableau{0}</label></li><li><input type=”radio” name=”rep[2]” value=”4″ id=”q2r4″> <label for=”q2r4″>$tableau.get(1)</label></li> </ul>

–>

{{ form_widget(form.question3) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>4</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Comment vérifie-t-on l’égalité de deux variables : $a et $b&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[3]” value=”1″ id=”q3r1″> <label for=”q3r1″>$a = $b</label></li><li><input type=”radio” name=”rep[3]” value=”2″ id=”q3r2″> <label for=”q3r2″>$a == $b</label></li><li><input type=”radio” name=”rep[3]” value=”3″ id=”q3r3″> <label for=”q3r3″>$a != $b</label></li><li><input type=”radio” name=”rep[3]” value=”4″ id=”q3r4″> <label for=”q3r4″>if($a,$b)</label></li> </ul>

–>

{{ form_widget(form.question4) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>5</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Quelle est l’utilité de l’opérateur ||&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!–<li><input type=”radio” name=”rep[4]” value=”1″ id=”q4r1″> <label for=”q4r1″>Il sert à vérifier que toutes les conditions sont réalisées.</label></li><li><input type=”radio” name=”rep[4]” value=”2″ id=”q4r2″> <label for=”q4r2″>Il sert à vérifier qu’une, et une seule, des conditions est réalisée.</label></li><li><input type=”radio” name=”rep[4]” value=”3″ id=”q4r3″> <label for=”q4r3″>Il sert à vérifier qu’une, au moins, des conditions est réalisée.</label></li> </ul>

–>

{{ form_widget(form.question5) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>6</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Quelles valeurs peut prendre le type booléen&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!–<li><input type=”radio” name=”rep[5]” value=”1″ id=”q5r1″> <label for=”q5r1″>0 ou 1</label></li><li><input type=”radio” name=”rep[5]” value=”2″ id=”q5r2″> <label for=”q5r2″>TRUE ou FALSE</label></li><li><input type=”radio” name=”rep[5]” value=”3″ id=”q5r3″> <label for=”q5r3″>Toutes sauf NULL</label></li> </ul>

–> {{ form_widget(form.question6) }}

 

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>7</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>La boucle for ($i=0 ; $i&lt;=3 ; $i++ ) { echo $i; }…</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[6]” value=”1″ id=”q6r1″> <label for=”q6r1″>Sera éxécutée 2 fois</label></li><li><input type=”radio” name=”rep[6]” value=”2″ id=”q6r2″> <label for=”q6r2″>Sera éxécutée 3 fois</label></li><li><input type=”radio” name=”rep[6]” value=”3″ id=”q6r3″> <label for=”q6r3″>Sera éxécutée 4 fois</label></li> </ul>

–>

{{ form_widget(form.question7) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>8</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Sachant que $a = 4. Quelle instruction affiche : 4 = quatre&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[7]” value=”1″ id=”q7r1″> <label for=”q7r1″>echo ‘$a = quatre’;</label></li><li><input type=”radio” name=”rep[7]” value=”2″ id=”q7r2″> <label for=”q7r2″>echo ‘$a = 2+2’;</label></li><li><input type=”radio” name=”rep[7]” value=”3″ id=”q7r3″> <label for=”q7r3″>echo “$a = quatre”;</label></li> </ul>

–> {{ form_widget(form.question8) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>9</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Sachant que $dodo = 6. Quelle est la valeur de ma nuit : $dodo += 2;&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[8]” value=”1″ id=”q8r1″> <label for=”q8r1″>3</label></li><li><input type=”radio” name=”rep[8]” value=”2″ id=”q8r2″> <label for=”q8r2″>8</label></li><li><input type=”radio” name=”rep[8]” value=”3″ id=”q8r3″> <label for=”q8r3″>12</label></li> </ul>

–>{{ form_widget(form.question9) }}

</div>

</div>

</div> <!– quiz-question –>

<div class=”quiz-question”>

<div class=”quiz-numero”><span>10</span></div>

<div class=”quiz-txt”>

<p class=”quiz-intitule”>Dans le cas d’envoi d’informations plus ou moins sensibles par formulaire, quelle méthode utilisera-t-on de préférence&nbsp;?</p>

<div class=”quiz-choix”>

<ul>

<!– <li><input type=”radio” name=”rep[9]” value=”1″ id=”q9r1″> <label for=”q9r1″>get</label></li><li><input type=”radio” name=”rep[9]” value=”2″ id=”q9r2″> <label for=”q9r2″>mailto</label></li><li><input type=”radio” name=”rep[9]” value=”3″ id=”q9r3″> <label for=”q9r3″>post</label></li> </ul>

–>

{{ form_widget(form.question10) }}

</div>

</div>

</div> <!– quiz-question –>

<input type=”submit” value=”Create” />

{{ form_end(form) }}

<!–

<p class=”center quiz-submit”><input type=”submit” value=”Valider les réponses” class=”awesome orange large”></p>

</form>–>

</div> <!– .content –>

</div> <!– #page –>

</div><!– #global –>

<footer id=”footer-menu” class=”site-footer-menu”>

</footer>

<!– Footer-end : logo, presentation –>

<div id=”footer-end” class=”site-footer-end”>

 

<div class=”print”><p>https://ingecole.fr</p></div>

</div> <!– fin de footer-end –>

<script>jQuery(document).ready(function($) {

$(‘.megamenu’).accessibleMegaMenu();

setTimeout(function () {

$(‘body’).removeClass(‘init’);

}, 500);

if(typeof autosize !== ‘undefined’) autosize(jQuery(‘.autosize’));

});</script>

<div><div class=”” style=”display: block; opacity: 0.52;” id=”pageShadowLuminositeDiv”></div></div>

<style>

.quiz-choix input{

}

.quiz-choix label{

}

.quiz-choix

</style>

{% endblock %}

 

# show.html.twig

 

{% extends ‘base.html.twig’ %}

{% block body %}

<h1>Formulaire</h1>

<table>

<tbody>

<tr>

<th>Id</th>

<td>{{ formulaire.id }}</td>

</tr>

<tr>

<th>Question1</th>

<td>{{ formulaire.question1 }}</td>

</tr>

<tr>

<th>Question2</th>

<td>{{ formulaire.question2 }}</td>

</tr>

<tr>

<th>Question3</th>

<td>{{ formulaire.question3 }}</td>

</tr>

<tr>

<th>Question4</th>

<td>{{ formulaire.question4 }}</td>

</tr>

<tr>

<th>Question5</th>

<td>{{ formulaire.question5 }}</td>

</tr>

<tr>

<th>Question6</th>

<td>{{ formulaire.question6 }}</td>

</tr>

<tr>

<th>Question7</th>

<td>{{ formulaire.question7 }}</td>

</tr>

<tr>

<th>Question8</th>

<td>{{ formulaire.question8 }}</td>

</tr>

<tr>

<th>Question9</th>

<td>{{ formulaire.question9 }}</td>

</tr>

<tr>

<th>Question10</th>

<td>{{ formulaire.question10 }}</td>

</tr>

</tbody>

</table>

<ul>

<li>

<a href=”{{ path(‘formulaire_index’) }}”>Back to the list</a>

</li>

<li>

<a href=”{{ path(‘formulaire_edit’, { ‘id’: formulaire.id }) }}”>Edit</a>

</li>

<li>

{{ form_start(delete_form) }}

<input type=”submit” value=”Delete”>

{{ form_end(delete_form) }}

</li>

</ul>

{% endblock %}