Geteri svojstava u OOP-u u PHP-u
Neka imamo sledeću klasu sa privatnim svojstvima:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Kao što vidite, ova svojstva se postavljaju jednom prilikom kreiranja objekta. Sada, međutim, ova svojstva je nemoguće pročitati, pošto su privatna i ne postoje odgovarajući metodi za to.
Hajde da napravimo za naša svojstva specijalne
metode koji omogućavaju čitanje ovih svojstava.
Takve metode (koje se nazivaju geteri) obično
počinju sa rečju get, a zatim sledi
naziv svojstva koje se čita.
Hajde da napravimo getere za naša svojstva:
<?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;
}
}
?>
Hajde da proverimo njihov rad. Kreirajmo objekat, prosledivši parametrom podatke korisnika:
<?php
$user = new User('john', 'smit');
?>
Pročitajmo ove podatke, koristeći getere:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
U klasi Employee napravite
tri privatna svojstva: ime, platu
i godine.
Prosledite konstruktoru parametrom vrednosti ovih svojstava.
Napravite getere koji ispisuju vrednosti svakog od naših svojstava.