Catene di metodi in OOP in PHP
È possibile fare in modo che i metodi possano essere
chiamati uno dopo l'altro in una catena. Per
fare ciò, ogni tale metodo deve
restituire $this. Proviamo.
Aggiungiamo il codice corrispondente
ai setter della nostra 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;
}
}
?>
Ora i nostri setter possono essere chiamati uno dopo l'altro, in una catena. Verifichiamo. Creiamo un oggetto della nostra classe:
<?php
$user = new User();
?>
Chiamiamo i nostri setter in catena:
<?php
$user->setName('john')->setSurn('smit');
?>
Verifichiamo che i valori delle proprietà siano cambiati:
<?php
echo $user->getName();
echo $user->getSurn();
?>
Fate in modo che i setter
della classe Employee possano
essere chiamati in catena.