Commencez par installer et tester l'application. Vous devrez tout d'abord installer la base
de données disponible dans le fichier sql/database.sql
, puis modifier le fichier
index.php
pour que les paramètres de connexion soient corrects.
Pour installer l'application, utilisez composer
:
composer install
L'autoloader utilisé ici est celui de composer. A quoi sert la ligne suivante?
$loader->add('', 'src');
Observez le fonctionnement des appels à $app->get()
et à $app->post()
.
Le routeur du framework Slim a été réutilisé ici.
Il permet de simplifier le routage des requêtes,
ainsi que la génération des url à l'aide de la méthode path_for()
.
Vous pouvez consulter cette page pour plus d'informations.
Intéressez vous au code de la classe Cinema\Model
, à quoi sert t-elle? Pourquoi
regrouper ces méthodes dans une classe?
Ici, Twig est utilisé pour le rendu des templates.
Observez comment layout.html.twig
est défini et comment son block content
est surchargé dans les pages filles telles que film.html.twig
.
Regardez de plus près l'utilisation de la méthode render()
, quel est le rôle des
variables qui lui sont passées ?
A partir de la base de données fournies, dessinez le schéma entité-association de la base de données fournie.
Notes:
En écrivant le code de la méthode getCasting()
du modèle, écrivez une requête récupérant
les acteurs jouant dans un film (prénom, nom et image).
Conseil: vous pouvez utiliser un otuil tel que phpMyAdmin pour réaliser vos requêtes et les essayer sur un exemple avant de les placer dans le code et de les rendre dynamique
<?php
// Attention, vous DEVEZ préparer vos requêtes
// Ne faites SURTOUT PAS ce genre de choses:
$sql = 'SELECT * FROM users WHERE name='.$name; // MAUVAIS
Remarquez que le formulaire soumet sur la mauvaise page,
utilisez path_for()
pour le corriger.
Les films peuvent être critiqué, complétez le code de manière à enregistrer les critiques valides dans la base de données, n'oubliez pas de passer par le modèle.
Modifier de nouveau le code pour que les critiques soient récupérées de la base de données puis affichées dans la page sous le film.
Ajouter au menu "Meilleurs films" et créez une page affichant le classement des films les mieux notés, c'est à dire ayant la meilleure note moyenne.
Remarquez qu'il est possible de consulter le nombre de films par genre, mais pas de voir la
liste des films d'un genre.
Rendez cliquable la ligne de chaque genre sur la page /genres
et faites apparaître
la liste des films étant dans le genre concerné.
Créez une page "Ajout de film" servant à ajouter un film à la base. Il doit être possible de définir:
Ne vous occupez pas des acteurs qui y jouent (dans la base de données), et les roles qu'ils y occupent