Dans cette partie, nous allons nous interesser à la définition de la classe qui va nous permettre de gérer des QCM.
Nous allons l’appeler MyQcm.
Nous avons besoin de définir les propriétés nécessaire à la création d’un QCM. Les informations de base dont on aura besoin sont donc :
- Le nom du QCM
- Le nom de l’auteur du QCM
- L’email de l’auteur du QCM
- Les questions et les réponses associées.
En ce qui concerne les questions, on ne peut pas prévoir par avance combien de réponses nous pouvons avoir.
C’est ainsi que j’ai pensé qu’il vaut mieux gérer chaque couple Question / réponses dans un tableau dont la structure sera définit par ce qui suit :
MaQuestion = tableau [
String : question,
Integer : reponse,
Tableau[1 .. n] : choix
]
Le tableau choix contient toutes les réponses possibles à la question (peu importe le nombre).
Ensuite, nous devons définir les méthodes dont nous allons avoir besoin pour gérer un QCM.
Je vais donc créer une interface que je vais nommer QCM (qcm.interface.php) pour définir les méthodes qui doivent être implémentées dans ma classe MyQcm, comme ci-dessous :
[php] interface QCM { function addQuestion($question); function addArrayQuestion($questions); function verifyResponse($idQuestion, $reponse); function getResponse($idQuestion); function parseFile($Fichier, $Fichier_type); } ?>
N.B : vous remarquerez qu’avec la version de PHP5, il est inutile de spécifier la visibilité d’une methode si elle est public. Dans le cas contraire, il faut spécifier avant le mot clé « function » la portée des membres de la classe, à savoir :
- private
- protected
- public
- final
- static
Ensuite, nous allons creer la classe MyQcm (myqcm.class.php) qui va implémenter les méthodes de l’interface QCM
Cette implémentation fera l’objet d’un post séparé (la partie 3)
Ces articles peuvent vous intéresser :









