PHP4 intègre des notions de programmation orientée objet, c'est à dire vers la possibilité d'utiliser des objets dans le code.

On appelle classe la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des entités qui composeront un objet. Un objet est donc "issu" d'une classe, c'est le produit qui sort d'un moule.

1- Avant propos

Ce tutorial traite de l'utilisation des classes avec PHP3 et PHP4. PHP5 apporte de nombreuses améliorations à la programmation orientée objet, mais les tutoriaux sur les classes PHP4 (celui ci, et le suivant de Phab) restent un point de départ pour commencer tout en douceur. Un nouveau tutorial, présentant les nouveautés PHP5, sera publié plus tard.

2- Une classe de base

Une classe est un ensemble de variables (attributs) et de fonctions (méthodes).

  • L'accès aux attributs (variables) d'un objet se fait grâce au nom de l'objet, suivi d'une flèche (->) représentée par un moins (-) et un signe supérieur (>), puis du nom de la donnée membre (sans le signe $).
  • De la même manière, l'accès aux méthodes ( fonctions) d'un objet se fait par le nom de l'objet, suivi d'une flèche et du nom de la méthode. La méthode est suivie de parenthèses, contenant les paramètres, s'il y en a.

Exemple :

  1. <?php
  2.  
  3. class BaseDeDonnees
  4. {
  5. var $bdd;
  6. var $res;
  7. var $erreur;
  8.  
  9. // connexion a la bdd
  10. function connexion($serveur, $login, $motpasse, $base)
  11. {
  12. $this->bdd = mysql_connect($serveur, $login, $motpasse)
  13. or $this->erreur = 'Impossible de se connecter à la base de données';
  14. // $this permet de désigner le nom de l'objet dans lequel on se trouve,
  15. // autrement dit la classe courante
  16. $this->selectionneBdd($base);
  17. }
  18. // selection de la bdd
  19. function selectionneBdd($base)
  20. {
  21. if($this->bdd)
  22. {
  23. mysql_select_db($base, $this->bdd)
  24. or $this->erreur = mysql_error($this->bdd);
  25. }
  26. }
  27. }// fin de la classe
  28.  
  29. ?>

NB : Il existe une méthode spéciale (portant le même nom que la classe) s'exécutant automatiquement lors de l'instanciation de l'objet. Cette méthode, appelée constructeur, est très utile pour initialiser les données membres lors de l'instanciation.

3- Instanciation de la classe

Après avoir déclaré une classe, il faut instancier des objets pour pouvoir l'exploiter. Cette opération se fait à l'aide du mot clé new permettant de faire des objets découlant d'une classe.

  1. <?php
  2.  
  3. // inclusion du fichier contenant notre classe
  4. require('maclasse.php');
  5.  
  6. // instanciation de l'objet bdd
  7. $bdd = new BaseDeDonnees;
  8. // accès à la méthode connexion de l'objet
  9. $bdd->connexion('localhost','mon_login','mon_pass','ma_base');
  10. if($bdd->bdd)
  11. {
  12. echo '<p>Connecté à la base</p>';
  13. }
  14. else
  15. {
  16. echo $bdd->erreur;
  17. }
  18.  
  19. ?>

A partir du moment où l'objet est instancié, il possède des propriétés qui lui sont propres, cela signifie que si vous instanciez un nouvel objet, la modification des propriétés de l'un n'influera aucunement sur celles de l'autre.

4- Conclusion

L'utilisation des classes d'objet s'avère très utile en PHP, et certainement indispensable sur les gros projets. Ce petit tutorial n'était qu'une indroduction aux classes d'objet PHP4, vous pouvez maintenant consulter le tutorial de Phab pour en savoir plus.