Gettery vlastností v OOP v PHP
Předpokládejme, že máme následující třídu s privátními vlastnostmi:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Jak vidíte, tyto vlastnosti jsou nastaveny jednou při vytváření objektu. Nyní však tyto vlastnosti nelze přečíst, protože jsou privátní a neexistují odpovídající metody pro to.
Pojďme pro naše vlastnosti vytvořit speciální
metody umožňující přečíst tyto vlastnosti.
Takové metody (nazývané gettery) obvykle
začínají slovem get, za kterým následuje
název čtené vlastnosti.
Pojďme vytvořit gettery našich vlastností:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
Pojďme ověřit jejich funkčnost. Vytvořme objekt, parametrem předáme data uživatele:
<?php
$user = new User('john', 'smit');
?>
Přečtěme tato data pomocí getterů:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
Ve třídě Employee vytvořte
tři privátní vlastnosti: jméno, plat
a věk.
Předejte parametrem konstruktoru hodnoty těchto vlastností.
Vytvořte gettery, které vypisují hodnoty každé z našich vlastností.