Chaînage de méthodes en POO en PHP
Il est possible de faire en sorte que les méthodes puissent
être appelées les unes après les autres en chaîne. Pour
cela, chaque telle méthode doit
retourner $this. Essayons.
Ajoutons le code correspondant
dans les setters de notre classe :
<?php
class User {
private $name;
private $surn;
public function setName($name) {
$this->name = $name;
return $this;
}
public function setSurn($surn) {
$this->surn = $surn;
return $this;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
Maintenant, nos setters peuvent être appelés les uns après les autres, en chaîne. Vérifions. Créons un objet de notre classe :
<?php
$user = new User();
?>
Appelons nos setters en chaîne :
<?php
$user->setName('john')->setSurn('smit');
?>
Vérifions que les valeurs des propriétés ont changé :
<?php
echo $user->getName();
echo $user->getSurn();
?>
Faites en sorte que les setters
de la classe Employee puissent
être appelés en chaîne.