Médiaforma

All posts tagged getter

Par définition, les propriétés de type private ne peuvent être accédées que par les méthodes de la classe dans laquelle elles ont été définies. Pour cela, on utilise des fonctions publiques appelées getter et setter. Leur nom commence toujours par get pour le getter et par set pour le setter.

Supposons que la propriété suivante soit définie dans la classe :

private $fyeo = "For Your Eyes Only";

Pour pouvoir lire et modifier cette propriété depuis une instanciation de la classe, vous définirez les fonctions getFyeo() et setFyeo() comme ceci :

public function getFyeo(){
  return $this -> fyeo;
}
public setFyeo($nouveau){
  $this -> fyeo = $nouveau;
}

La fonction publique getFyeo() lit le contenu de la propriété private $fyeo et la retourne à l’appelant.

La fonction publique setFyeo() affecte la valeur qui lui est passée en paramètre à la propriété private $fyeo.


Le terme “encapsulation” désigne le regroupement des variables et des fonctions au sein d’une seule et même entité : une classe.

Par défaut, toutes les propriétés et méthodes d’une classe sont de type public. Ils sont donc utilisables et modifiables par toutes les instances de la classe. Si nécessaire, vous pouvez également définir des propriétés et méthodes d’un autre type :

  • private : les propriétés et méthodes ne sont utilisables et modifiables que par la classe elle-même (pas dans les classes dérivées ni dans les objets) ;
  • protected : les propriétés et méthodes sont utilisables et modifiables par la classe elle-même et par ses classes dérivées. Par contre, elles sont inaccessibles aux objets qui découlent de la classe.