Metodekæder i OOP i PHP
Det er muligt at gøre det sådan, at metoder kan
kaldes efter hinanden i en kæde. For
at gøre dette skal hver sådan metode
returnere $this. Lad os
prøve. Vi tilføjer den relevante
kode til vores klassessettere:
<?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;
}
}
?>
Nu kan vores settere kaldes efter hinanden i en kæde. Lad os tjekke. Vi opretter et objekt af vores klasse:
<?php
$user = new User();
?>
Vi kalder vores settere i kæde:
<?php
$user->setName('john')->setSurn('smit');
?>
Lad os tjekke, at egenskabernes værdier er ændret:
<?php
echo $user->getName();
echo $user->getSurn();
?>
Gør sådan, at setterne
i klassen Employee kan
kaldes i kæde.