Bonjour,
Je demande votre aide pour un exercice que je dois réaliser :
Le but est de développer une petite page index.php permettant d'afficher un formulaire de type QCM. Les données ne seront pas stockées dans une base de données.
Voici le code typique et le rendu d’un QCM : (index.php)
Il y a 3 classes à faire, que j'ai fais dans trois fichiers différents (Qcm.class.php | Question.class.php | Reponse.class.php)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <? php include " qcm . class .php"; $monQcm = new Qcm("QCM langage PHP"); $monQcm -> AddQuestion ("PHP est un langage :", array ( array (" Compilé " ,0) , array (" Interprété " ,1))); $monQcm -> AddQuestion ("PHP est un langage typé ", array ( array (" Oui" ,0) , array ("Non " ,1))); $monQcm -> AddQuestion ("PHP :", array ( array (" est orienté objet " ,1) , array ("est objet " ,0) , array ("nest que structuré " ,0))); $monQcm -> AddQuestion ("La version distribuée officielle est la: ", array ( array (" version 5" ,1) , array (" version 6" ,0) , array (" version 7" ,0))); ? > <html > <head > <title >QCM </ title > </ head > <body > <? php $monQcm - > Afficher (" qcm1 .php"); ?> </body > </html >
- La classe Qcm doit qui comporter un tableau d’objets Question et dont les méthodes sont évidentes d’après le code exemple produit plus haut.
- La classe Question qui implémente un libellé de question, un numéro de question et un tableau de réponses possibles à la question. Il serait souhaitable d’avoir une méthode AddReponse() ainsi qu’une méthode Afficher().
- La classe Reponse qui doit comporter le libellé de la réponse, un numéro de question et un numéro de réponse et quelque chose permettant de spécifier si la réponse est exacte. On pourra supposer qu’une seule réponse est correcte. Là encore il est souhaitable d’avoir une méthode Afficher().
Il y aura 3 boutons en dessous du formulaire :
Afficher le score : sous forme 1/4
Afficher le corrigé : donc afficher les réponses du formulaire avec des couleurs (rouge/vert)
Recommencer : réinitialise le formulaire
Je sais comment créer une class en PHP le souçis c'est que je n'arrive pas comprendre comment faire communiquer les class entre elle, j'aimerai juste avoir un exemple de comment cela fonctionne. Voila ce que j'ai essayé de faire :
Code du fichier qcm.class.php
Code du fichier question.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?php include('question.class.php'); class QCM { private $_qcm_titre = ''; private $_titre_question = ''; private $_choix_reponses = array(); public function __construct($_qcm_titre) { $this->_qcm_titre = $_qcm_titre; } public function AddQuestion($_titre_question, $_choix_reponses) { $test = new Question(0,$_titre_question, $_choix_reponses); $test->Affichert(); } } ?>
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?php include('reponse.class.php'); class Question { private $num_question = 0; private $_libelle_question; private $_reponse_dispo = array(); public function __construct($_num_question,$_libelle_question, $_reponse_dispo) { $this->_libelle_question = $_libelle_question; $this->_reponse_dispo = $_reponse_dispo; $this->num_question = $num_question++; } public function Affichert() { echo "Question ".$this->$num_question."<br>".$this->_libelle_question.""; $num_question++; } public function AddReponse() { var_dump($this->_num_question); } } ?>
Partager