Atribuutide getterid OOP-s PHP-s
Oletame, et meil on järgmine klass privaatsete atribuutidega:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Nagu näete, need atribuudid määratakse üks kord objekti loomisel. Praegu aga neid atribuute pole võimalik lugeda, kuna need on privaatsed ja puuduvad vastavad meetodid selleks.
Teeme oma atribuutide jaoks spetsiaalsed
meetodid, mis võimaldavad neid atribuute lugeda.
Selliseid meetodeid (mida nimetatakse getteriteks) tavaliselt
algavad sõnaga get, millele järgneb
loetava atribuudi nimi.
Teeme oma atribuutide getterid:
<?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;
}
}
?>
Kontrollime nende toimimist. Loome objekti, parameetritena andes edasi kasutaja andmed:
<?php
$user = new User('john', 'smit');
?>
Loeme need andmed, kasutades gettereid:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
Klassis Employee tehke
kolm privaatset atribuuti: nimi, palk
ja vanus.
Edastage konstruktori parameetritena nende atribuutide väärtused.
Tehke getterid, mis väljastavad iga meie atribuudi väärtused.