Section courante

A propos

Section administrative du site

Introduction

Le langage PHP n'étant pas à l'origine construit pour supporté les classes, d'où la résultant d'un support partiel seulement à partir de la version 4 et d'un support sérieux avec la version 5, à certain manque dans la possibilité des classes. Pour définir une classe, on utilise le mot réservé «class» en minuscule.

Classe vide

Tout d'abord, pour définir une classe vide sans aucun héritage, on doit utiliser la syntaxe est la suivante :

class nomdelaclasse {
   
}

Ensuite, pour définir une classe vide avec un héritage, on doit utiliser la syntaxe suivante :

class nomdelaclasse extends classeparente {
}

Classe avec fonctions ou procédures

Tout d'abord, pour définir une classe avec une ou plusieurs fonction(s) ou procédure(s) sans aucun héritage, on doit utiliser la syntaxe est la suivante :

class nomdelaclasse {
   function nomdeprocédure1(paramètres) {
      instruction_exécuté1;
      instruction_exécuté2;
      instruction_exécuté3;
      ...
   }
   function nomdeprocédure2(paramètres) {
         instruction_exécuté1;
         instruction_exécuté2;
         instruction_exécuté3;
         ...
   }
   ...
}

Ensuite, pour définir une classe avec une ou plusieurs fonction(s) ou procédure(s) avec un héritage, on doit utiliser la syntaxe suivante :

class nomdelaclasse extends classeparente {
   function nomdeprocédure1(paramètres) {
      instruction_exécuté1;
      instruction_exécuté2;
      instruction_exécuté3;
      ...;
   }
   function nomdeprocédure2(paramètres) {
      instruction_exécuté1;
      instruction_exécuté2;
      instruction_exécuté3;
      ...;
   }
   ...
}

Constructeur d'une classe

Comme tous les langages de programmation supportant un minimum de programmation orientée objet (POO), il est possible de créer une fonction permettant d'initialiser la classe (aussi appelé constructeur de classe) lors de la création de la classe objet. Le nom de la classe doit être utilisé dans la définition d'une fonction. Voici sa syntaxe :

class nomdelaclasse extends classeparente {
   function nomdelaclasse(paramètres) {
      instruction_exécuté1;
      instruction_exécuté2;
      instruction_exécuté3;
   ...;
   }
   function nomdeprocédure1(paramètres) {
         instruction_exécuté1;
         instruction_exécuté2;
         instruction_exécuté3;
         ...
   }
   ...
}

Mot réservé particulier

Vous pouvez utiliser la variable réservé «$this» lequel fait référence à la classe courante dans lequel vous vous trouvez.

Création d'un objet de classe

Vous pouvez créer une classe à l'aide du mot réservé «new» :

$monobjet = new nomdelaclasse;
$monobjet->nomdeprocédure1();

Exemple

Cet exemple permet de montrer un simple créer d'une classe avec une valeur modifiable ou lisable :

Essayer maintenant !
  1. <?php
  2. class myclass {
  3.    var $private_A;
  4.    
  5.    public function setValue($a) {
  6.        $this->private_A = $a;
  7.    }
  8.  
  9.    public function getValue() {
  10.        return $this->private_A;
  11.    }
  12.  
  13. };
  14.  
  15. $CurrClass = new myclass();
  16. $CurrClass->setValue(18);
  17. echo "Résultat de A dans la classe courante = " . $CurrClass->getValue() . "<br />";
  18. ?>

on obtiendra le résultat suivant :

Résultat de A dans la classe courante = 18


Dernière mise à jour : Dimanche, le 3 août 2014