• 30 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 12/12/2019

Quiz 4

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Compétences évaluées

  • Internationaliser un site
  • Déclencher et écouter des événements avec le gestionnaire d’événements
  • Sécuriser une application Symfony
  • Gérer des formulaires et vérifier les données saisies
  • Question 1

    Dans un contrôleur, quel est le code pour créer un formulaire de type MoocType et basé sur l’objet $mooc ?

    • <?php
      $form = $this->get(‘form.factory’)->create(MoocType::class, $mooc);
    • <?php
      $form = $this->get(‘form.factory’)->createBuilder(MoocType::class, $mooc);
    • <?php
      $form = $this->createFormBuilder(MoocType::class, $mooc);
    • <?php
      $form = $this->createForm($mooc, MoocType::class);
  • Question 2

    Dans la classe du type de formulaire MoocType, quel est le code pour ajouter un champ qui permet de sélectionner, via des cases à cocher, plusieurs thèmes parmi les thèmes disponibles ?

    • <?php
      $builder->add(‘listThemes’, EntityType::class, array(
      'class' => 'OCMoocBundle:Theme',
      ‘choice_label’ => 'title',
      ‘expanded’ => true
      ));
    • <?php
      $builder->add(‘listThemes’, EntityType::class, array(
      'class' => 'OCMoocBundle:Theme',
      ‘choice_label’ => 'title',
      ‘multiple’ => true
      ));
    • <?php
      $builder->add(‘listThemes’, EntityType::class, array(
      'class' => 'OCMoocBundle:Theme',
      ‘choice_label’ => 'title',
      'query_builder' => function(ThemeRepository $repo) {
      return $repo->getThemesDisponibles();
      },
      ‘expanded’ => true
      ));
    • <?php
      $builder->add(‘listThemes’, EntityType::class, array(
      'class' => 'OCMoocBundle:Theme',
      ‘choice_label’ => 'title',
      'query_builder' => function(ThemeRepository $repo) {
      return $repo->getThemesDisponibles();
      },
      ‘multiple’ => true,
      ‘expanded’ => true
      ));
  • Question 3

    Dans un objet, quelle est l’annotation pour valider qu’un nombre est compris entre 10 et 20 ? Il faut également personnaliser les messages d’erreur en cas de valeur trop grande, valeur trop petite, et valeur qui n’est pas un nombre.

    • <?php
      /**
      * @Assert\Length(min=10, max=20, minMessage=”Valeur trop petite”, maxMessage=”Valeur trop grande”, invalidMessage=”Valeur invalide”)
      */
      private $number;
    • <?php
      /**
      * @Assert\Range(min=10, max=20, minMessage=”Valeur trop petite”, maxMessage=”Valeur trop grande”, invalidMessage=”Valeur invalide”)
      */
      private $number;
    • <?php
      /**
      * @Assert\Range(min=10, max=20, minMessage=”Valeur trop grande”, maxMessage=”Valeur trop petite”
      */
      private $number;
    • <?php
      /**
      * @Assert\Min(10, Message=”Valeur trop petite”, invalidMessage=”Valeur invalide”)
      * @Assert\Max(20, Message=”Valeur trop grande”, invalidMessage=”Valeur invalide”)
      */
      private $number;