Les Méthodes

DéfinitionMéthodes (Fonctions)

Les méthodes sont les fonctions de la classe. L'utilisation des méthodes d'un objet s'effectue à l'aide du signe ->

À l'intérieur d'une méthode, on utilise la pseudo-variable $this pour faire référence à l'instance actuelle (l'objet lui-même).

Représentation UML de la classe Identite
1
class Identite {
2
  public $nom = "Vanneste";
3
  public $prenom = "Vincent";
4
  public function getNomPrenom(){
5
    // $this fait référence à l'objet sur lequel on appelle la méthode
6
    return "{$this->nom} {$this->prenom}";
7
  }
8
} 
9
10
$fiche = new Identite();
11
12
echo $fiche->getNomPrenom(); 
13
// affiche "Vanneste Vincent"

DéfinitionVisibilité

Il existe trois catégories principales de méthode :

  • public : Accessible de n'importe où (depuis l'extérieur de l'objet).

  • protected : Accessible uniquement par la classe elle-même et ses classes enfants (héritage).

  • private : Accessible uniquement par la classe elle-même.

1
class Identite {
2
  protected $nom = "vanneste";
3
  protected $prenom = "vincent";
4
  private function getNomPrenom(){
5
    return "{$this->nom} {$this->prenom}";
6
  }
7
  public function getIdentite(){
8
    return $this->getNomPrenom();
9
  }
10
}
11
$fiche = new Identite();
12
echo $fiche->getIdentite();
13
// affiche vanneste vincent
14
echo $fiche->getNomPrenom();
15
// Fatal error: Call to private method Identite::getNomPrenom() from context

MéthodeTypage

Comme pour les fonctions, les méthodes peuvent être typées.

1
class Auteur
2
{
3
  protected $nom;
4
5
  public function setNom(string $nom){
6
    $this->nom = $nom;
7
  }
8
9
  public function getNom(): string {
10
    return $this->nom;
11
  }
12
13
}
14