Les exercices suivants sont des exercices supplémentaires pour réviser le troisième chapitre de cours. Ils viennent en complément du TP3 qui doit être terminé avant de faire ces exercices. Ces exercices sont optionnels mais permettent de revoir les principales notions du chapitre 3. Ce TP nécessite la classe Model du TP de révisions du chapitre 2. Il faut donc faire ce TP avant de commencer.

Exercice 1 : Création du squelette MVC du site

  1. Créer le squelette du site MVC :
    • créer les répertoires Controllers, Models, Utils et Views ;
    • ajouter les vues begin et end contenant le début et la fin du code html d’une page Web ;
    • ajouter le routeur index.php ;
    • ajouter la classe abstraite Controller ;
    • ajouter le fichier functions.php avec la définition de la fonction e.
  2. Copier le fichier Model.php du TP de révisions du chapitre 2 permettant d’interagir avec la table personnages.

Exercice 2 : Affichage des différents noms de famille

  1. Définir la vue families affichant le contenu du tableau de chaînes de caractères $familyNames sous forme d’une liste non ordonnées.

  2. Créer le contrôleur Simpson dont l’action par défaut (action families) affiche la liste des différents noms de familles des personnages contenus dans la table personnages. Cette action utilisera la vue définie précédemment.

Exercice 3 : Affichage des membres d’une même famille

  1. Définir la vue familyMembers affichant la liste des membres d’une même famille. La vue doit afficher le nom de famille (variable $family) puis la liste des membres de cette famille (stockés dans la variable $fm). Pour chacun des membres de la famille, la vue affichera le prénom suivi de l’âge (ou la mention “âge non défini” si celui-ci n’existe pas dans la table).

  2. Définir l’action members du contrôleur Simpson. Celle-ci doit d’abord vérifier qu’il existe dans l’url un paramètre family. Si ce n’est pas le cas, la page affichée doit uniquement contenir le paragraphe : “D’oh! Pas de paramètre, pas d’affichage !”. Autrement, l’action doit afficher la liste des membres de la famille dont le nom est donné par le paramètre family grâce à la vue définie à la question précédente.

  3. Modifier la vue families de l’exercice 2 pour que les noms de familles soient des hyperliens sur l’action members permettant l’affichage des membres de chaque famille.