Les accesseurs (getters) de propriétés en POO en PHP
Supposons que nous ayons la classe suivante avec des propriétés privées :
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Comme vous pouvez le voir, ces propriétés sont définies une fois lors de la création de l'objet. Cependant, actuellement, il est impossible de lire ces propriétés, car elles sont privées et il n'y a pas de méthodes correspondantes pour cela.
Créons pour nos propriétés des méthodes spéciales
permettant de les lire.
De telles méthodes (appelées accesseurs ou getters)
commencent généralement par le mot get
, suivi du
nom de la propriété à lire.
Créons les accesseurs pour nos propriétés :
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
Vérifions leur fonctionnement. Créeons un objet en passant les données de l'utilisateur en paramètre :
<?php
$user = new User('john', 'smit');
?>
Lisons ces données en utilisant les accesseurs :
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
Dans la classe Employee
, créez
trois propriétés privées : le nom, le salaire
et l'âge.
Passez les valeurs de ces propriétés en paramètre du constructeur.
Créez des accesseurs affichant les valeurs de chacune de nos propriétés.