Classe PHP

Cette page s'adresse à ceux et celles qui abordent PHP et ne connaissent pas encore comment fonctionnent les classes d'objet PHP.
Elle n'a pas non plus pour but de vous transformer en développeurs, mais juste de vous permettre d'en appréhender le principe.

Pour simplifer l'explication, on dira qu'une classe d'objet PHP est un ensemble de variables (appelées attributs ou membres) et de code PHP rédigé dans des fonctions (appelées méthodes), le tout sous une même appellation.

Vous avez ci-contre un croquis pouvant représenter une classe d'objet appelée operation qui contiendrait deux membres (les variables en vert : $m1 et $m2) et cinq méthodes (en rouge: operation() et en bleu : addition(), soustraction(), multiplication() et division()).

L'une de ces méthodes, celle qui est en rouge sur le croquis, porte le même nom que la classe. La classe operation possède la méthode operation(). Cette méthode là s'appelle le constructeur, c'est-à-dire que c'est la méthode qui sera exécutée lorsqu'on appellera pour la première fois (que l'on instanciera) cette classe.

Dans le code qui suit, instancier la classe operation revient à créer une variable ayant ce type en lui passant éventuellement des arguments qui seront utilisés par le constructeur.

$op = new operation(6,3);

A l'issue de cette instruction, la variable $op sera crée selon le modèle de la classe operation et deux valeurs lui auront été passées : 6 et 3 qui seront respectivement attribuées aux variables $n1 et $n2. Lors de l'instanciation, le constructeur (la méthode operation()) attribuera les valeurs de $n1 et $n2 (soit, respectivement 6 et 3) aux membres de la classe. Cela veut dire qu'après cette instruction $op->m1 vaudra 6 et $op->m2 vaudra 3.

L'intérêt de cette classe d'objet est d'avoir créé une variable (la variable $op) qui possède, outre ses données (les membres $m1 et $m2 avec leurs propres valeurs), des méthodes contenant le code nécessaire à effectuer certains traitements. Il y a par exemple, la méthode multiplication() : on écrit $op->multiplication() pour signifier qu'il s'agit de la méthode multiplication() de l'objet $op. Cette méthode retournera (return ...) le produit de ses deux membres. On pourrait maintenant écrire en PHP :

echo "$op->m1 x $op->m2 = " . $op->multiplication();

Ce qui donnerait :

6 x 3 = 18

et

$oper = new operation(6,0);
echo "$oper->m1 : $oper->m2 = " . $oper->division();

donnerait :

6 : 0 = impossible

Bien sûr, ceci n'est qu'un exemple simplissime de classe destiné à en saisir le principe. Et il est effectivement inutile d'écrire une classe d'objet pour réaliser la multiplication de deux nombres. Mais le principe étant là, et dans l'exemple il s'agissait d'une multiplication, les traitement effectués peuvent être complexes :

Techniquement et d'une manière simpliste, mettre en ligne un questionnaire revient à instancier la classe QCM et à utiliser deux méthodes display() et correction(). La prise en charge par la classe QCM de tout le code nécessaire, soulage l'enseignant de toute la partie informatique nécessaire à la réalisation d'un test en ligne afin qu'il puisse se consacrer à la partie pédagogique, la plus compliquée : réaliser le fichier questionnaire qui mettra en lumière ce qu'il veut mesurer.

Mise à jour le 07/12/2014 à 19:24:19