Principe
Au moment de l'instanciation de la classe, autrement dit au moment de la création de l'objet, celui-ci est construit par une méthode
appellée constructeur.
Si aucun constructeur n'est présent dans la classe, le constructeur est dit implicite, mais il existe bel et bien !!!
La présence du constructeur n'est pas obligatoire, s'il n'existe pas il est implicite, la méthode existe mais elle est vide de toute instruction!
Quand utiliser un constructeur ?
- lorsqu'il est nécessaire d'initialiser les propriétés de l'objet au moment de sa création
- lorsqu'une connexion à la base de données est nécessaire
Le constructeur
Le constructeur est une méthode particulière qui est exécutée automatiquement lors de l'instanciation de l'objet, le constructeur
s'appelle toujours __construct() (ATTENTION: double underscore!).
Démo
<?php
class eleve {
//propriétés initialisées
private $_nom="inconnu";
private $_preno="inconnu";
//méthodes
//Le constructeur
public function __construct($nom,$preno) {
if((!empty($nom) AND is_string($nom))
AND(!empty($preno) AND is_string($preno))){
$this->_nom=$nom;
$this->_preno=$preno;
}
}
//méthode permettant de modifier la variable nom
public function setNom($nom){
if (!empty($nom) AND is_string($nom)){
$this->_nom=$nom;
}
}
//méthode permettant d'afficher le nom
public function getEleve(){
echo("<u>Profil de l'élève</u>:");
echo("<br>Nom de l'élève: $this->_nom");
echo("<br>Prénom de l'élève: $this->_preno");
}
}
//On crée une instance de la classe eleve
$elev1=new eleve("Doofensmirtz","Heinz");
//On affecte une valeur à la propriété $_nom
$elev1->getEleve();
?>