Lanțuri de metode în OOP în PHP
Se poate face astfel încât metodele să poată fi
apelate una după alta în lanț. Pentru
aceasta, fiecare astfel de metodă trebuie să
returneze $this. Să încercăm.
Adăugăm codul corespunzător
în setterii clasei noastre:
<?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;
}
}
?>
Acum setterii noștri pot fi apelați unul după altul, în lanț. Să verificăm. Să creăm un obiect al clasei noastre:
<?php
$user = new User();
?>
Să apelăm setterii noștri în lanț:
<?php
$user->setName('john')->setSurn('smit');
?>
Să verificăm dacă valorile proprietăților s-au schimbat:
<?php
echo $user->getName();
echo $user->getSurn();
?>
Faceți astfel încât setterii
clasei Employee să poată
fi apelați în lanț.