Vous êtes sur la page 1sur 3

PHP Pr.

Sonia SOUABI
3IIIR
Contrôle
-1h30-
Exercice 1 : (10 points)
A- Contrôleurs et routes : Dans la première partie, nous allons considérer les
notations suivantes avant de définir vos contrôleurs :
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;

1- Créez un contrôleur nommé : MagasinController.php et qui va contenir une


fonction Afficher prenant comme paramètres d’entrée les variables : NomMarque
et NombreFranchises et qui va retourner le message : Bienvenue dans (variable
NomMarque) qui contient (NombreFranchises) Franchises à travers le monde.
Utilisez l’objet Response. Complétez
2- Définir par deux méthodes différentes la route modifiable qui contient les deux
variables (NomMarque et NombreFranchises) :
2-1- La méthode par attributs (route au sein du contrôleur).
2-2- en utilisant la configuration par YAML.
3- Comment peut-on créer un contrôleur automatique nommé « HomeController »
de façon automatique. Cette commande permet de générer quoi ?

B- Contrôleurs et vues
Dans cette partie, nous allons considérer les notations suivantes avant de définir nos
contrôleurs :
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;

1- Considérons la vue suivante :


<h1> Restaurant « Gusto » </h1>
<h2> Notre restaurant est l’adresse ultime pour déguster la gastronomie française et
italienne. Nous nous situons dans trois villes : Casablanca, Marrakech et Rabat. </h2>
Quel sera le dossier où on va créer notre vue ? Donnez un nom à votre vue.
2- Créez maintenant votre contrôleur que vous allez nommer :
RestaurantController.php qui va faire appel à la vue correspondante précédente.
Définir une route modifiable nommé : Restaurant/{NomVille}. Le contrôleur
prends comme paramètre d’entrée l’objet Request et la variable définie.
3- Modifiez la vue correspondante en ajoutant les conditions suivantes en utilisant le
par le moteur Twig (vous pouvez utiliser les balises HTML) :
 Si la ville= « Casablanca», affichez le message : Notre restaurant à Casablanca
se trouve à Ain Diab avec une vue imprenable sur la mer. Notre gastronomie
italienne est très variée.
 Si la ville= « Rabat », affichez le message : Notre restaurant à Rabat se trouve
à Hay Riad, une très bonne ambiance avec une animation à ne pas rater.
 Si la filière= «Marrakech», affichez le message : Notre restaurant à Marrakech
se trouve à Gueliz. Venez découvrir la gastronomie italienne, française et
marocaine.
4- Considérons les deux vues suivantes :
 La première vue nommé « footer.html.twig » : <h1>Le numéro de téléphone :
0546738234</h1>.
 La deuxième vue nommé «head.html.twig » : <p>Bienvenue dans la page
officielle de notre restaurant </p>.
Quelles modifications va-t-on mettre en place dans la vue correspondante pour hériter de
la vue de base « base.html.twig » et pour inclure les deux vues : « footer.html.twig » et
«head.html.twig » ? Ecrire la syntaxe de l’héritage et de l’inclusion des deux vues.
Exercice 2 : (QCM) (5 points)
1- Quelle syntaxe permet de définir des structures de contrôle en TWIG ?
 {{ ...}}
 {# … #}
 { %…%}
 {...}

2- Quelle syntaxe permet l’accès au contenu des variables en TWIG ?


 {{ ...}}
 {# … #}
 { %…%}
 {...}

3- Quelle est la structure du dossier « src » du Framework Symfony ?


 Templates, entity, repository.
 Controller, entity, repository.
 Controller, repository, entity.

4- Quel dossier permet de configurer la route en utilisant YAML, XML ou PHP ?


 Dossier « src ».
 Dossier « Templates ».
 Dossier « Config ».
5- Quel dossier permet de définir la structure de la base de données ?
 Dossier « Repository ».
 Dossier « Entity ».
 Dossier « Packages ».

N.B : Veuillez répondre au QCM dans la feuille de


l’examen et la rendre avec la feuille de rédaction.

Vous aimerez peut-être aussi