Getters vlastností v OOP v PHP
Nech máme nasledujúcu triedu s privátnymi vlastnosťami:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Ako vidíte, tieto vlastnosti sa nastavujú raz pri vytvorení objektu. Teraz však tieto vlastnosti nie je možné prečítať, pretože sú privátne a neexistujú zodpovedajúce metódy na to.
Urobme pre naše vlastnosti špeciálne
metódy, ktoré umožňujú čítať tieto vlastnosti.
Takéto metódy (nazývajú sa getters) zvyčajne
začínajú slovom get, po ktorom nasleduje
názov čítanej vlastnosti.
Urobme getters pre naše vlastnosti:
<?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;
}
}
?>
Overme ich fungovanie. Vytvorme objekt, parametrom odovzdajme údaje používateľa:
<?php
$user = new User('john', 'smit');
?>
Prečítajme tieto údaje pomocou getters:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
V triede Employee vytvorte
tri privátne vlastnosti: meno, plat
a vek.
Odovzdajte parametrom konštruktora hodnoty týchto vlastností.
Vytvorte getters, ktoré vypíšu hodnoty každej z našich vlastností.