Getterji lastnosti v OOP v PHP
Recimo, da imamo naslednji razred z zasebnimi lastnostmi:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Kot lahko vidite, so te lastnosti nastavljene enkrat ob ustvarjanju objekta. Trenutno pa teh lastnosti ni mogoče prebrati, ker so zasebne in ni ustreznih metod za to.
Naredimo za naše lastnosti posebne
metode, ki omogočajo branje teh lastnosti.
Takšne metode (imenujemo jih getterji) običajno
se začnejo z besedo get, čemur sledi
ime lastnosti, ki se bere.
Naredimo getterje za naše lastnosti:
<?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;
}
}
?>
Preverimo njihovo delovanje. Ustvarimo objekt in mu kot parameter posredujmo podatke uporabnika:
<?php
$user = new User('john', 'smit');
?>
Preberimo te podatke z uporabo getterjev:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
V razredu Employee naredite
tri zasebne lastnosti: ime, plačo
in starost.
Preko konstruktorja posredujte vrednosti teh lastnosti.
Naredite getterje, ki izpišejo vrednosti vsake od naših lastnosti.