Encadeamento de métodos em POO em PHP
É possível fazer com que os métodos possam
ser chamados um após o outro em uma cadeia. Para
isso, cada método desse tipo deve
retornar $this. Vamos
tentar. Adicionaremos o código correspondente
aos setters da nossa 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;
}
}
?>
Agora nossos setters podem ser chamados um após o outro, em cadeia. Vamos testar. Vamos criar um objeto da nossa classe:
<?php
$user = new User();
?>
Vamos chamar nossos setters em cadeia:
<?php
$user->setName('john')->setSurn('smit');
?>
Vamos verificar se os valores das propriedades mudaram:
<?php
echo $user->getName();
echo $user->getSurn();
?>
Faça com que os setters
da classe Employee possam
ser chamados em cadeia.